From afe9c9738076f34ece68a953a9192eb6f6fdfa58 Mon Sep 17 00:00:00 2001 From: Ben Villalobos <4691428+BenVillalobos@users.noreply.github.com> Date: Thu, 16 Sep 2021 12:12:16 -0700 Subject: [PATCH 1/3] Initialize XmlReaders with a stream that can detect encodings --- src/Tasks/XslTransformation.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Tasks/XslTransformation.cs b/src/Tasks/XslTransformation.cs index cf73331796e..1fc84ee15bb 100644 --- a/src/Tasks/XslTransformation.cs +++ b/src/Tasks/XslTransformation.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.IO; using System.Reflection; +using System.Text; using System.Xml; using System.Xml.Xsl; using System.Xml.XPath; @@ -334,7 +335,7 @@ public XmlReader CreateReader(int itemPos) { if (XmlMode == XmlModes.XmlFile) { - return XmlReader.Create(_data[itemPos]); + return XmlReader.Create(new StreamReader(_data[itemPos], new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), detectEncodingFromByteOrderMarks: true)); } else // xmlModes.Xml { @@ -459,7 +460,7 @@ public XslCompiledTransform LoadXslt(bool useTrustedSettings) _log.LogMessageFromResources(MessageImportance.Low, "XslTransform.UseTrustedSettings", _data); } - xslct.Load(new XPathDocument(XmlReader.Create(_data)), settings, new XmlUrlResolver()); + xslct.Load(new XPathDocument(XmlReader.Create(new StreamReader(_data, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), detectEncodingFromByteOrderMarks: true))), settings, new XmlUrlResolver()); break; case XslModes.XsltCompiledDll: #if FEATURE_COMPILED_XSL From 858187ad14b9d4bc51b049591de0a9f4e35768e0 Mon Sep 17 00:00:00 2001 From: Ben Villalobos <4691428+BenVillalobos@users.noreply.github.com> Date: Thu, 16 Sep 2021 16:31:00 -0700 Subject: [PATCH 2/3] Revert to simple streamreader passing into XmlReader.Create --- src/Tasks/XslTransformation.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Tasks/XslTransformation.cs b/src/Tasks/XslTransformation.cs index 1fc84ee15bb..4f4fb4debad 100644 --- a/src/Tasks/XslTransformation.cs +++ b/src/Tasks/XslTransformation.cs @@ -5,7 +5,6 @@ using System.Collections.Generic; using System.IO; using System.Reflection; -using System.Text; using System.Xml; using System.Xml.Xsl; using System.Xml.XPath; @@ -335,7 +334,7 @@ public XmlReader CreateReader(int itemPos) { if (XmlMode == XmlModes.XmlFile) { - return XmlReader.Create(new StreamReader(_data[itemPos], new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), detectEncodingFromByteOrderMarks: true)); + return XmlReader.Create(new StreamReader(_data[itemPos])); } else // xmlModes.Xml { @@ -460,7 +459,7 @@ public XslCompiledTransform LoadXslt(bool useTrustedSettings) _log.LogMessageFromResources(MessageImportance.Low, "XslTransform.UseTrustedSettings", _data); } - xslct.Load(new XPathDocument(XmlReader.Create(new StreamReader(_data, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), detectEncodingFromByteOrderMarks: true))), settings, new XmlUrlResolver()); + xslct.Load(new XPathDocument(XmlReader.Create(new StreamReader(_data))), settings, new XmlUrlResolver()); break; case XslModes.XsltCompiledDll: #if FEATURE_COMPILED_XSL From f6028a63d72d09be2e400f998da6ffcc9e153577 Mon Sep 17 00:00:00 2001 From: Ben Villalobos <4691428+BenVillalobos@users.noreply.github.com> Date: Fri, 17 Sep 2021 13:20:18 -0700 Subject: [PATCH 3/3] initialize XmlReaders with a stream and a baseuri --- src/Tasks/XslTransformation.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Tasks/XslTransformation.cs b/src/Tasks/XslTransformation.cs index 4f4fb4debad..3b8810be561 100644 --- a/src/Tasks/XslTransformation.cs +++ b/src/Tasks/XslTransformation.cs @@ -334,7 +334,7 @@ public XmlReader CreateReader(int itemPos) { if (XmlMode == XmlModes.XmlFile) { - return XmlReader.Create(new StreamReader(_data[itemPos])); + return XmlReader.Create(new StreamReader(_data[itemPos]), null, _data[itemPos]); } else // xmlModes.Xml { @@ -459,7 +459,7 @@ public XslCompiledTransform LoadXslt(bool useTrustedSettings) _log.LogMessageFromResources(MessageImportance.Low, "XslTransform.UseTrustedSettings", _data); } - xslct.Load(new XPathDocument(XmlReader.Create(new StreamReader(_data))), settings, new XmlUrlResolver()); + xslct.Load(new XPathDocument(XmlReader.Create(new StreamReader(_data), null, _data)), settings, new XmlUrlResolver()); break; case XslModes.XsltCompiledDll: #if FEATURE_COMPILED_XSL