私は次のようなXSLTを持っています:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
.......
<xsl:value-of select="format-number(abs(QUANTITY), '#')"/>
....
これはAltovaXMLSpyのようなツールで完全に機能しますが、.Netから変換しようとしている場合:
XslTransform myXslTransform = new XslTransform();
myXslTransform.Load("some.xls");
myXslTransform.Transform(@"inputxml", @"c:\out.csv");
例外をスローします
System.Xml.Xsl.XsltException was unhandled
Message='abs()' is an unknown XSLT function.
Source=System.Data.SqlXml
ABSは実装するのに十分な単純な機能であることは知っていますが、質問はなぜそれが.Netで発生するのかということです。
誰か考えがありますか?