0
的XSL是嘗試使用的XslTransform以驗證XSL用腳本失敗
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="msxsl"
xmlns:cs="urn:cs">
<msxsl:script language="C#" implements-prefix="cs">
<msxsl:using namespace="System.IO" />
<![CDATA[public void f(){}]]>
</msxsl:script>
<xsl:output method="text" />
<xsl:template name="abc" />
</xsl:stylesheet>
使用XslCompiledTransform
我能夠很容易地驗證此XSL使用下面的代碼:
var xslTransform = new XslCompiledTransform();
using (var stream = new FileStream(XSL_PATH, FileMode.Open))
{
using (var reader = XmlReader.Create(stream))
{
xslTransform.Load(reader, new XsltSettings(false, true), new XmlUrlResolver());
}
}
但是,如果我正嘗試使用過時的(我有理由)XslTransform
如下:
var xslTransform = new XslTransform();
using (var stream = new FileStream(XSL_PATH, FileMode.Open))
{
using (var reader = XmlReader.Create(stream))
{
xslTransform.Load(reader/*, new XsltSettings(false, true)*/, new XmlUrlResolver());
}
}
我得到'msxsl:script'元素不能爲空。
爲什麼?
刪除使用作品。謝謝。 – mark