private XmlReader CreateValidatingXmlReader(XmlReader reader) { var validatingXmlReader = XmlReader.Create(reader.ReadSubtree(), ValidatingXmlReaderSettings.Create(_schemaContentProcessing, _validatingSchema)); validatingXmlReader.MoveToContent(); return(validatingXmlReader); }
internal static Document LoadPolicyResourceDocument(string name) { // see Microsoft.BizTalk.PipelineEditor.PolicyFile.Document::Load, Microsoft.BizTalk.PipelineOM, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 var xmlSchemas = (XmlSchemas)Reflector.GetProperty <Document>("SchemasForObjectModel"); using (var stream = ResourceManager.Load(Assembly.GetExecutingAssembly(), $"{typeof(IStage).Namespace}.Resources.{name}")) using (var xmlReader = XmlReader.Create(stream, ValidatingXmlReaderSettings.Create(XmlSchemaContentProcessing.Strict, xmlSchemas.ToArray()))) { var xmlSerializer = CachingXmlSerializerFactory.Create(typeof(Document)); return((Document)xmlSerializer.Deserialize(xmlReader)); } }
private XmlReader CreateValidationAwareReader(System.IO.Stream transformStream) { var validatingXmlReader = XmlReader.Create( transformStream, ValidatingXmlReaderSettings.Create( ContentProcessing, (_, args) => throw new XmlSchemaValidationException( $"Transform's output failed schema(s) validation for the following reason:{Environment.NewLine}{args.Severity}: {args.Message}{Environment.NewLine}{Environment.NewLine}The message's content is:{Environment.NewLine}{transformStream.ReadToEnd()}{Environment.NewLine}", args.Exception), Schemas.ToArray())); return(validatingXmlReader); }