Mercurial > repos > IBDev-IBBoard.WarFoundry.API
diff api/Factories/Xml/WarFoundryXmlFactory.cs @ 32:6b9d37f14a14
Re #32 - Migrate to schemas
* Remove unused method that was still validating by DTD
* Collapse Cats schema in to one nested structure
System files are failing to validate because:
Problem validating against schema for WarFoundry data: XmlSchema error: Invalid start element: http://ibboard.co.uk/warfoundry/system:cat XML Line 4, Position 4.
which is a <cat> tag, which should match the Cat schema definition. Removing the tags results in a different error about the end </categories> tag being unexpected because of missing content.
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 14 Mar 2009 20:47:14 +0000 |
parents | 457c9357dd64 |
children | b28be912adab |
line wrap: on
line diff
--- a/api/Factories/Xml/WarFoundryXmlFactory.cs Sat Mar 14 20:38:16 2009 +0000 +++ b/api/Factories/Xml/WarFoundryXmlFactory.cs Sat Mar 14 20:47:14 2009 +0000 @@ -325,38 +325,6 @@ private void ValidationEventMethod(object sender, ValidationEventArgs e) { throw new InvalidDataException("Problem validating against schema for WarFoundry data: " + e.Exception.Message, e.Exception); - } - - protected XmlDocument CreateXmlDocumentFromString(string xmlString) - { - XmlReaderSettings settings = new XmlReaderSettings(); - settings.XmlResolver = xmlResolver; - settings.ValidationType = ValidationType.DTD; - settings.ProhibitDtd = false; - settings.ValidationEventHandler+= new ValidationEventHandler(ValidationEventMethod); - XmlReader reader = XmlReader.Create(new MemoryStream(Encoding.UTF8.GetBytes(xmlString)), settings); - XmlDocument doc = new XmlDocument(); - - try - { - doc.Load(reader); - } - catch(XmlSchemaException ex) - { - throw new InvalidFileException(Translation.GetTranslation("ErrorInvalidXmlString", "Failed to parse invalid XML string"), ex); - } - finally - { - //We might not need to make sure the memory stream is closed, but do it just in case - reader.Close(); - } - - if (doc.ChildNodes.Count!=3) - { - throw new InvalidFileException(String.Format(Translation.GetTranslation("ErrorInvalidXmlFile", "XML string was not a valid XML file. It should contain three child nodes - XML definition, DocType and root node."))); - } - - return doc; } private WarFoundryObject CreateObjectFromElement(XmlElement elem)