XML validation: Difference between revisions

From Rosetta Code
Content added Content deleted
(Created page with "{{draft task}} Given an XML document and an XSD schema definition validate that the document follows the schema described. =={{header|C sharp}}== <lang csharp> using System...")
 
Line 16: Line 16:
// your code goes here
// your code goes here
XmlSchemaSet sc = new XmlSchemaSet();
XmlSchemaSet sc = new XmlSchemaSet();
sc.Add(null, "http://www.public.asu.edu/~jtrujil1/xml/Hotel.xsd");
sc.Add(null, "http://venus.eas.asu.edu/WSRepository/xml/Courses.xsd");
XmlReaderSettings settings = new XmlReaderSettings();
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.ValidationType = ValidationType.Schema;
Line 22: Line 22:
settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
// Create the XmlReader object.
// Create the XmlReader object.
XmlReader reader = XmlReader.Create("http://www.public.asu.edu/~jtrujil1/xml/Hotel.xml", settings);
XmlReader reader = XmlReader.Create("http://venus.eas.asu.edu/WSRepository/xml/Courses.xml", settings);
// Parse the file.
// Parse the file.
while (reader.Read());
while (reader.Read());

Revision as of 23:35, 3 November 2014

XML validation is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.

Given an XML document and an XSD schema definition validate that the document follows the schema described.

C#

<lang csharp> using System; using System.Xml; using System.Xml.Schema; using System.IO;

public class Test { public static void Main() { // your code goes here XmlSchemaSet sc = new XmlSchemaSet(); sc.Add(null, "http://venus.eas.asu.edu/WSRepository/xml/Courses.xsd"); XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.Schema; settings.Schemas = sc; settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack); // Create the XmlReader object. XmlReader reader = XmlReader.Create("http://venus.eas.asu.edu/WSRepository/xml/Courses.xml", settings); // Parse the file. while (reader.Read()); // will call event handler if invalid Console.WriteLine("The XML file is valid for the given xsd file"); }

// Display any validation errors. private static void ValidationCallBack(object sender, ValidationEventArgs e) { Console.WriteLine("Validation Error: {0}", e.Message); } } </lang>