When reading attributes, you can use the at System. You can improve on this error handling by installing an event handler.The parser fires a object that contains details about the parser validation error.All of the samples I see with Validating Reader and Xml Document talk about validating as you load the xml document from a file. I don't have a file - I have an in-memory Xml Document. The solution I've found is: //Xml Document doc = my in-memory xml document //get the outerxml of the document. Outer Xml; //create a stream, read in the outerxml. thanks again, jason on last question about appropriate use of manual Schema addition: if you didn't control the source of the XML document, and could not be certain that it included the schema reference, would that be a good reason to add the Schema manually, to make certain it is validated using the schema?Yes, if you want to make sure a certain schema or certain schemas are used for validation then you have to add them yourself.function to position the reader on a particular attribute by specifying either a name or a zero-based index. Element Validation Error(Xml Qualified Name name, Validation State context, Validation Event Handler event Handler, Object sender, String source Uri, Int32 line No, Int32 line Pos, Boolean get Particles)Note that if you have typed in the XML file using different formatting, you might get different line and character numbers.
and i'm guessing this is completely viable, since the Validating Reader has a constructor that specifically allows an XML node string as a parameter.
thanks for the previous comments, jason Here is an example I have made up now, the only special thing I had to do is to provide a base URI to the parser context so that the relative URI pointing to the schema could be resolved. Schema; public class Test2005042103 That example works fine for me here with .
Note that I didn't bother to put a string literal with XML into the program but read the XML from a file first to put it in a string then for the example: using System; using System. NET 1.1, the example XML markup in the string is being pulled in node by node and validation errors are reported. this demonstrated a few key concepts that i think the MSDN library was not making clear. i do not see anywhere that the Schema is being added to a Schema collection, and the validation type of the Validating Reader being changed to Schema? would you be willing to show how to add a Schema validation?
and the validation type of the Validating Reader being changed to Schema? The default is Auto and that does whatever is possible, if a DTD is linked in via a DOCTYPE declaration it validates against the DTD, if a schema or a schemas are present it validates against the schema(s).
would you be willing to show how to add a Schema validation?
As said the example does schema validation by using the schema given in the xsi:no Namespace Schema Location but if you want to add the schema manually then it looks like this Name Table name Table = new Name Table(); Xml Namespace Manager namespace Manager = new Xml Namespace Manager(name Table); Xml Parser Context parser Context = new Xml Parser Context(null, namespace Manager, null, Xml Space.