<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7650.21">
<TITLE>Partial update of in-memory structures & network transfer.</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">All,</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">I’m looking for a generic way to update an in-memory structure given a (possibly very nested) sub-element of that structure. This update will be in the form of a byte array off the network (or from another file). The updates can be requests to add, remove and update elements / attributes and their content (where the schema permits it). </FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Given the following schema (forgive the example but I couldn’t cope with abstract ‘item1, item2..sub-item_a’ etc scenarios!):</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><?</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xml</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">version</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="1.0"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">?></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:schema</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#800000" SIZE=1 FACE="Courier New">xmlns</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New">:</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">xsd</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="</FONT></SPAN><SPAN LANG="en-gb"></SPAN><A HREF="http://www.w3.org/2001/XMLSchema"><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><U><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">http://www.w3.org/2001/XMLSchema</FONT></U></SPAN><SPAN LANG="en-gb"></SPAN></A><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">"></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:element</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="car"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">type</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="car_t"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">/></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:complexType</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="car_t"></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:sequence</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:element</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="engine"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">type</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="engine_t"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">/></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:element</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="chassis"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">type</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="chassis_t"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">/></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:sequence</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:complexType</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:complexType</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="engine_t"></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:sequence</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:element</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="oil"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">type</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="xsd:integer"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">/></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:sequence</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:complexType</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:complexType</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="chassis_t"></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:sequence</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:element</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="wheel"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">type</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="wheel_t"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">minOccurs</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="2"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">maxOccurs</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="6"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">/></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:element</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="exhaust"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">type</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="xsd:integer"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">/></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:sequence</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:complexType</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:complexType</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="wheel_t"></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:sequence</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:element</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="tyre"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">type</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="xsd:integer"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">/></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:element</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="pressure"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">type</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="xsd:integer"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">/></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:element</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="rim"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">type</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="xsd:integer"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">/></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:sequence</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:attribute</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="id"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">type</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="xsd:integer"</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">/></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:complexType</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">xsd:schema</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">there could be a point at runtime where the in-memory model contains the following data: </FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">car</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">engine</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">oil</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New">5</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">oil</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">engine</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">chassis</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">wheel</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">id</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="1"></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">tyre</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New">1</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">tyre</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">pressure</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">>1</</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">pressure</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">rim</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New">1</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">rim</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">wheel</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">wheel</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">id</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="2"></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">tyre</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">>2</</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">tyre</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">pressure</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">>2</</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">pressure</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">rim</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New">2</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">rim</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">wheel</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">exhaust</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New">5</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">exhaust</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">chassis</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">car</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<BR>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Some data comes from the network that represents a new wheel (as the schema will be big, the entire document won’t be retransmitted every time, plus this gives the flexibility of allowing different clients to manage different areas of the schema e.g. the chassis dept. doesn’t need to know about the engine dept – they just know they exist as part of a car) :</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">car</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">chassis</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">wheel</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">id</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="3"></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">tyre</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New">3</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">tyre</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">pressure</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">>3</</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">pressure</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">rim</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New">3</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">rim</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">wheel</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">chassis</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">car</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Obviously this fragment isn’t valid against the schema but it is constructible (as xsd allows invalid (against schema) objects using the</FONT></SPAN><SPAN LANG="en-gb"><B></B></SPAN><SPAN LANG="en-gb"><B></B></SPAN><B><SPAN LANG="en"> <FONT COLOR="#000000" SIZE=2 FACE="Courier New">--generate-default-ctor</FONT></SPAN></B><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> command).</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">The first issue here is how to stream data to and from xsd objects – is your planned work to allow serialisation to (and from?!) compact binary formats for over-the-wire transfer something that would be able to address this? It would be nice if something like this could be done:</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">// Get the data from the network</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">BYTE* pCarFragment =…</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">// Put the fragment into an xsd object – the main car object knows where a wheel lives.</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">car_t car;</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">pCarFragment >> car; // operator of choice, or +=, member Add( type& ) etc…</FONT></SPAN></P>
<BR>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Next, given that it will be possible to do something like that, it would be possible to build / update some master data record from separate sources:</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">car_t masterCar =…</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">car_t wheelFragment = …</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">car_t chassisFragment = …</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">masterCar += wheelFragment;</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">masterCar += chassisFragment;</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">This would also mean the different parts of the instance document could live in physically separate files </FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">e.g. engine.xml </FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">car</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">engine</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">oil</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New">5</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">oil</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">engine</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">car</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">and chassis.xml. </FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">car</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">chassis</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">wheel</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">id</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="1"></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">tyre</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">>1</</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">tyre</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">pressure</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">>1</</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">pressure</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">rim</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New">1</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">rim</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">wheel</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">wheel</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">id</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="2"></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">tyre</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">>2</</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">tyre</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">pressure</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">>2</</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">pressure</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">rim</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">>2</</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">rim</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">wheel</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">exhaust</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New">5</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">exhaust</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">chassis</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">car</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">and be combined into one object when loaded.</FONT></SPAN></P>
<BR>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">A mechanism to allow data to be removed or updated would also be required:</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Change the tyre pressure:</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">car</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">chassis</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">wheel</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=1 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=1 FACE="Courier New">id</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">="2"></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"><</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">pressure</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New">99</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">pressure</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">wheel</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=1 FACE="Courier New"> </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">chassis</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New"></</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=1 FACE="Courier New">car</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=1 FACE="Courier New">></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">car_t pressureChange = …</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">car_t masterCar = …</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">masterCar.Update( pressureChange ); </FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Instead or as well as member functions, operators could be overloaded</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#000080" SIZE=2 FACE="Arial">;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> maybe ~= or *= for Update()? To remove some data, the member function Remove(…) or operator -= could be used.</FONT></SPAN></P>
<BR>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">The Add / Remove / Update operations could return failure (or throw an exception) if the operation was invalid against the schema e.g. adding / updating something to an out of range value or trying to remove a mandatory element.</FONT></SPAN></P>
<BR>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">When the in-memory validation is available it would also be possible to do</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">bool isValid = masterCar.valid(); </FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">to check that the overall content was correct against the schema (I seem to remember reading something to this effect on this forum!). </FONT></SPAN></P>
<BR>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">I realise this is quite a philosophical email and there probably aren’t any solid answers ( other than “what?!” </FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT FACE="Wingdings" SIZE=2>J</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> ), but it’s something to think about…</FONT></SPAN></P>
<BR>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Cheers,</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Dave.</FONT></SPAN></P>
<BR>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2>Dave Moss</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2>SELEX Communications</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2>Grange Road</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2>Christchurch </FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2>Dorset BH23 4JE</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2>United Kingdom</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2>Tel: + 44 (0) 1202 404841</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2>Email:</FONT></SPAN><SPAN LANG="en-gb"> </SPAN><A HREF="mailto:david.r.moss@selex-comm.com"><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><U></U></SPAN><U><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2>david.r.moss@selex-comm.com</FONT></SPAN></U><SPAN LANG="en-gb"></SPAN></A><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>
<BR>
</BODY>
</HTML>