title: Custom validation of standard xml schema (xsd) type in .net
body: <p>The problem that I have is this:</p>
  
  <ol>
  <li>I have a lot of XSD files generated by 3rd party to check the conformance of document types</li>
  <li>They use standard types (namely <code>gYear</code> and <code>date</code>) without realizing their real restrictions</li>
  <li>They also use hard-coded checks on their side that have more restrictions then these standard types used in XSD (i.e., spaces before or after the numbers for <code>gYear</code> are ok, but will fail on their side)</li>
  <li>Changing schemas is really not a way to go (XSDs are numerous and being updated frequently)</li>
  </ol>
  
  <p>So, here's the question: what can I do to enforce more strict rules to validate some of standard types?
  I use .NET 3.5 (C#) and we have a wrapper around the standard <code>XmlReader</code>, so using 3rd party project isn't an option at all.
  I thought about loading additional schema file with some pre-defined types that will extend/override needed types, <em>or</em> somehow catch the moment when the needed type is validating the node and I can peek at the value of said node, but I'm not sure how to proceed.</p>
  
  <p>Additional requirements: the validation process should be streaming (i.e. no <code>XmlDocument</code> et al).</p>