<!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.0.6556.0">
<TITLE>Data validation</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">If</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">in a schema</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">I</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Arial">have</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial"> a restricted data type defined as:</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&lt;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=2 FACE="Courier">xsd:simpleType</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=2 FACE="Courier"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=2 FACE="Courier">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">=&quot;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">myInt</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&quot;&gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">&nbsp;&nbsp;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&lt;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=2 FACE="Courier">xsd:restriction</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=2 FACE="Courier"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=2 FACE="Courier">base</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">=&quot;xsd:unsignedInt&quot;&gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&lt;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=2 FACE="Courier">xsd:minInclusive</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=2 FACE="Courier"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=2 FACE="Courier">value</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">=&quot;100&quot;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=2 FACE="Courier"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=2 FACE="Courier">/&gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&lt;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=2 FACE="Courier">xsd:maxInclusive</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=2 FACE="Courier"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=2 FACE="Courier">value</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">=&quot;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">200</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&quot;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=2 FACE="Courier"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=2 FACE="Courier">/&gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">&nbsp;&nbsp;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&lt;/</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=2 FACE="Courier">xsd:restriction</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&gt;</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&lt;/</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=2 FACE="Courier">xsd:simpleType</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&gt;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&lt;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=2 FACE="Courier">xsd:element</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=2 FACE="Courier"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=2 FACE="Courier">name</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">=&quot;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">num</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&quot;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF00FF" SIZE=2 FACE="Courier"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#FF0000" SIZE=2 FACE="Courier">type</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">=&quot;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">myInt</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&quot;/&gt;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">then</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier">on parsing an</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier">xml file with an element of that type outside of that range</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier">will throw</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier">an exception as expected:</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&lt;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=2 FACE="Courier">num</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&gt;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">999</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&lt;/</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#800000" SIZE=2 FACE="Courier">num</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&gt;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier"> </FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">Datatype error: Type</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">:InvalidDatatypeFacetException, Message:Value</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&#8216;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">999</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&#8217;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier"> must be less than or equal to MaxInclusive</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&#8216;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">200</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier">&#8217;</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#0000FF" SIZE=2 FACE="Courier"> .</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> </SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">However, i</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">f</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier">I</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier">want to modify / create</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier">some</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier"> data</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier">programmatically</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier"> no such validation occurs</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">.</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier">The following compiles, runs and serialize</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">s</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier"> back to an xml file without any problem:</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">myInt</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier"></FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT SIZE=2 FACE="Courier">i</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">(</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT COLOR="#FF0000" SIZE=2 FACE="Courier">9999999</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">);</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">I</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Courier">s there any way to use the underlying validation used when an xml file is parsed to check the validity of objects instantiated in this way?</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">Cheers,</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"><FONT SIZE=2 FACE="Arial">Dave.</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"></SPAN><A NAME=""><SPAN LANG="en-gb"><FONT SIZE=2>Dave Moss</FONT></SPAN></A></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&nbsp; 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><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"> <FONT COLOR="#000000" SIZE=2>david.r.moss@seleniacomm.com</FONT></SPAN><SPAN LANG="en-gb"></SPAN><SPAN LANG="en-gb"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-gb"></SPAN></P>

</BODY>
</HTML>
<table><tr><td bgcolor=#ffffff><font color=#000000>********************************************************************<br>
This email and any attachments are confidential to the intended<br>
recipient and may also be privileged. If you are not the intended<br>
recipient please delete it from your system and notify the sender.<br>
You should not copy it or use it for any purpose nor disclose or<br>
distribute its contents to any other person.<br>
********************************************************************<br>
</font></td></tr></table>