相关疑难解决方法(0)

如何计算XSLT中数字的绝对值?

我有

<xsl:value-of select="DifferenceInDays" /> 
Run Code Online (Sandbox Code Playgroud)

DifferenceInDays可以是消极的或积极的,我想把它显示为正面.我怎样才能做到这一点?

xslt xslt-2.0 xslt-1.0

13
推荐指数
3
解决办法
2万
查看次数

'abs()'是一个未知的XSLT函数

我有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), '#')"/>
....
Run Code Online (Sandbox Code Playgroud)

它与Altova XMLSpy等工具完美配合,但当我尝试从.Net进行转换时:

XslTransform myXslTransform = new XslTransform();
myXslTransform.Load("some.xls");
myXslTransform.Transform(@"inputxml", @"c:\out.csv");
Run Code Online (Sandbox Code Playgroud)

它抛出异常

System.Xml.Xsl.XsltException was unhandled
  Message='abs()' is an unknown XSLT function.
  Source=System.Data.SqlXml
Run Code Online (Sandbox Code Playgroud)

我知道ABS是一个足够简单的功能来实现,但问题是为什么它会发生在.Net上?

有人有什么想法吗?

xml xslt c#-4.0

0
推荐指数
1
解决办法
2210
查看次数

标签 统计

xslt ×2

c#-4.0 ×1

xml ×1

xslt-1.0 ×1

xslt-2.0 ×1