title: Returning C/C++ structure array in XML/XSD format
body: <p>I am writing a native C/C++ .dll program which calls to .dll functions of many third party C/C++ libraries and returns a c/c++ structure array (SA) of 18 columns by 0-n lines. This returned value is then captured by a WCF C# web service program which "interop" with my .dll and, using .net xml library, serialize the result before sending the message to the web service client.</p>
  
  <p>I can see an overhead here: (a) prepare data in C/C++ to populate the SA before returning and, (b) serialize that SA into XML once it is received by the C# web service program.</p>
  
  <p>To avoid this overhead I think that instead of populating the SA in my C/C++ dll, I should populate into a XML-serialized string or file, then return this result to the C# web service program which will only send the already serialized data directly to the client.</p>
  
  <p>At this point I would like to know:</p>
  
  <p>1) If my thought is correct.</p>
  
  <p>2) If yes, apart from populating data into XML I would also like to include -as a header- the name of the columns, lenghts and datatypes. Somebody said me that I should create an XSD string/file for describing that header. What do you think about this?</p>
  
  <p>3) What kind of things should I consider into the C# program for not having problems with the returning XML data? XSD data? </p>
  
  <p>Thanks for your courtesy in reading this.</p>