Example #1
0
        private XmlReader CreateValidatingXmlReader(XmlReader reader)
        {
            var validatingXmlReader = XmlReader.Create(reader.ReadSubtree(), ValidatingXmlReaderSettings.Create(_schemaContentProcessing, _validatingSchema));

            validatingXmlReader.MoveToContent();
            return(validatingXmlReader);
        }
Example #2
0
        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));
                }
        }
Example #3
0
        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);
        }