Я использую XslCompiledTransform, потому что Microsoft говорит, что мне нужно использовать, поскольку XslTransform устарела.
<ExactDatetime>200-02-02</ExactDatetime>
) работает с использованием XslTransform
<ExactDatetime>200-02-02</ExactDatetime>
) ошибка при использовании XslCompiledTransform
<ExactDatetime></ExactDatetime>
) работает с использованием XslTransform
Работает:
XslTransform xslDoc = new XslTransform();
xslDoc.Load(xslPath);
xslDoc.Transform(doc, Response.Output);
Сбой с JIT (При использовании примера даты 200-02-02)
XslCompiledTransform xslDoc = new XslCompiledTransform();
xslDoc.Load(xslPath);
xslDoc.Transform(doc, new XmlTextWriter(Response.Output));
JIT-компилятор столкнулся с внутренним ограничением.
Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.
Сведения об исключении: System.InvalidProgramException: JIT-компилятор обнаружил внутреннее ограничение.
Ошибка источника:
Line 33: //xslDoc.Transform(doc, Response.Output);
Line 34:
Line 35: xslDoc.Transform(doc, new XmlTextWriter(Response.Output));
Line 36: }
Line 37: }
Исходный файл: c: \ shahid \ ccr_test \ test1 \ Default.aspx.cs Строка: 35
Трассировка стека:
[InvalidProgramException: JIT Compiler encountered an internal limitation.]
<xsl:template name="date:_format-date">(XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime, IList`1 year, IList`1 month, IList`1 day, IList`1 hour, IList`1 minute, IList`1 second, IList`1 timezone, IList`1 pattern) +0
<xsl:template name="date:format-date">(XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime, XPathNavigator date-time, XPathNavigator pattern) +5170
<xsl:template match="DateTime" name="dateTime">(XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime, XPathNavigator {urn:schemas-microsoft-com:xslt-debug}current, IList`1 dt, XPathNavigator fmt) +12397
<xsl:template match="/">(XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime, XPathNavigator {urn:schemas-microsoft-com:xslt-debug}current) +46057
Root(XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime) +91
Execute(XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime) +28
System.Xml.Xsl.XmlILCommand.Execute(Object defaultDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlSequenceWriter results) +88
System.Xml.Xsl.XmlILCommand.Execute(Object defaultDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlWriter writer, Boolean closeWriter) +193
System.Xml.Xsl.XmlILCommand.Execute(XmlReader contextDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlWriter results) +28
System.Xml.Xsl.XslCompiledTransform.Transform(String inputUri, XmlWriter results) +81
_Default.Button1_Click(Object sender, EventArgs e) in c:\shahid\ccr_test\test1\Default.aspx.cs:35
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565