Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt Sharepoint Designer XLST XSL IF/Choose语句_Xslt_Sharepoint - Fatal编程技术网

Xslt Sharepoint Designer XLST XSL IF/Choose语句

Xslt Sharepoint Designer XLST XSL IF/Choose语句,xslt,sharepoint,Xslt,Sharepoint,有人能告诉我我在SharePoint Designer中使用的代码有什么问题吗: <xsl:choose> <xsl:when test="number((ddwrt:DateTimeTick(ddwrt:GenDisplayName(string(ddwrt:Today())))- (ddwrt:DateTimeTick(ddwrt:GenDisplayName(string(@Date_x0020_only))))) div 864000000000) &g

有人能告诉我我在SharePoint Designer中使用的代码有什么问题吗:

<xsl:choose>
    <xsl:when test="number((ddwrt:DateTimeTick(ddwrt:GenDisplayName(string(ddwrt:Today())))- (ddwrt:DateTimeTick(ddwrt:GenDisplayName(string(@Date_x0020_only))))) div 864000000000) &gt;  7 div 864000000000 and &lt;= 14 div 864000000000">
        <h2> <strong><span style="font-size: 8pt"> WEEK 1 </span></strong>
            <xsl:text xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:whitespace-preserve="yes" xml:space="preserve"> </xsl:text>
        </h2>
    </xsl:when>
</xsl:choose>
更新:

非常感谢@matthias_h和@Jason Aller

下面是我最后使用的代码:

<xsl:variable name="X"   

                        select="number((ddwrt:DateTimeTick(ddwrt:GenDisplayName(
                        string(ddwrt:Today())))-(ddwrt:DateTimeTick(ddwrt:GenDisplayName(
                        string(@Date_x0020_only))))) div 864000000000)">

                </xsl:variable>

            <xsl:if test="$X &gt; 0 div 864000000000 and $X &lt;= 7 div 864000000000">

                <xsl:text> WEEK 1</xsl:text>

            </xsl:if>

            <xsl:if test="$X &gt; 7 div 864000000000 and $X &lt;= 14 div 864000000000">

                <xsl:text> WEEK 2</xsl:text>

            </xsl:if>

            <xsl:if test="$X &gt; 14 div 864000000000 and $X &lt;= 21 div 864000000000">

                <xsl:text> WEEK 3</xsl:text>

            </xsl:if>

            <xsl:if test="$X &gt; 21 div 864000000000">

                <xsl:text> Escalation</xsl:text>

            </xsl:if>

第一周
第2周
第3周
升级
因此,现在在Sharepoint designer预览部分中,它可以正常工作,如下所示:

2014年11月7日上午11:56上报 2014年11月7日上午11:56上报 2014年11月7日上午11:56上报 2014年11月26日上午8:47升级 2014年12月18日第2周下午3:10

但在浏览器中显示如下:

2014年11月7日上午11:56上报 2014年11月7日上午11:56上报 2014年11月7日上午11:56上报 2014年11月26日上午8:47升级 2014年12月18日下午3:10升级 2014年12月29日下午1:48升级

出于某种原因,它把它们都称为升级。有什么建议吗

我真的很感谢你的帮助

更新2

谢谢@matthias_h

回答您的问题:

1.)是,在SPD预览中正确,但在浏览器中不正确

2.)这是SPD中的值

2014年11月7日上午11:56升级0.00000000006134259259259259 2014年11月7日上午11:56升级0.00000000006134259259259259 2014年11月7日上午11:56升级0.00000000006134259259259259 2014年11月26日上午8:47升级0.00000000003935185185 2014年12月18日第2周下午3:10 0.0000000000138888888888

这些是浏览器中的值

2014年11月7日上午11:56升级53 2014年11月7日上午11:56升级53 2014年11月7日上午11:56升级53 2014年11月26日上午8:47升级34 2014年12月18日下午3:10升级12

你认为这和我除以864000000000有关吗? 我这样做的原因是因为它没有在浏览器中正确地显示日期差异。 所以我使用了这个解决方案:


再次感谢您的帮助

我无法测试完整表达式,因为缺少名称空间和函数,但我认为存在以下语法错误,如示例所示:

<xsl:when test="value &gt; 14 and &lt; 7">

应该是

<xsl:when test="value &gt; 14 and value &lt; 7">

我建议-为了可读性,将number()中的表达式作为变量,例如

<xsl:variable name="testString"   
      select="number((ddwrt:DateTimeTick(ddwrt:GenDisplayName(
      string(ddwrt:Today())))-(ddwrt:DateTimeTick(ddwrt:GenDisplayName(
      string(@Date_x0020_only))))) div 864000000000)">

然后检查一下

<xsl:when test="$testString &gt; 7 div 864000000000 
                and $testString &lt;= 14 div 864000000000">

会有用的。

另外,如果您没有
xsl:if
或其他
xsl:when
案例,您可以调整为
xsl:if

您是否也可以显示更多样式表和XML输入?这将使我们能够重现您的问题。谢谢您是否考虑过设置一个
来保存封装在
number()
中的部分,并以
var>7和var两个问题的形式进行比较,以了解更新代码中的问题?1)预览输出是否正常,只有浏览器输出错误;2)
$X
的值是多少?你能用'Sorry@matthias_h'打印出来吗?请看原始的帖子更新2。我是这个论坛的新手,不知道如何在评论区正确设置文本格式。别介意,不需要任何借口。您可以单击“添加评论”按钮下方的“帮助”
,获取有关格式的信息,顺便说一句,最好将其他信息添加到原始帖子中,而不是作为评论,这样人们就可以看到完整的问题,包括更新,而不必转到评论。此外,应该避免在评论中进行长时间的讨论,并改用SO chat,但要使用此功能,您需要20的声誉。我只是检查一下更新,但也许最好把它作为一个新问题添加,因为第一个问题已经解决了,这是一个后续问题。哇。谢谢@matthias_h这比我所拥有的容易多了。我是一个初学者,当谈到编码,所以请原谅我的代码格式。我最后做的是:试图发布代码,但太长了。我会编辑我原来的帖子,这样你就可以看到了。不过,我现在的新问题是,它在sharepoint designer中工作得非常好,也就是说,当我在预览部分看到它时,它对浏览器中的每一行都说了同样的话。他们都说升级。我做错什么了吗?
<xsl:when test="$testString &gt; 7 div 864000000000 
                and $testString &lt;= 14 div 864000000000">