【问题标题】:XSL - Test a boolean valueXSL - 测试一个布尔值
【发布时间】:2015-02-25 14:46:02
【问题描述】:

我在 SharePoint 2010 中遇到了 XSLT 代码问题。 我对 XSLT 不是很熟悉,但我认为,我能够阅读代码。 从 SharePoint 查询中,我得到了这个 XML 代码:

<Result>
    <id>2</id>
    <workid>160</workid>
    <rank>67119018</rank>
    <title>Angebot.pdf</title>
    <author_multival>User, Name</author_multival>
    <author>User, Name</author>
    <size>440631</size>
    <url>http://portal.url.de/sites/IT/Projects/Angebot.pdf</url>
    <urlEncoded>http%3A%2F%2Fportal%2Eurl%2Ede%2Fsites%2FIT%2FProjects%2FAngebot%2Epdf</urlEncoded>
    <description></description>
    <write>21.03.2014</write>
    <sitename>http://portal.url.de/sites/IT/Projects</sitename>
    <collapsingstatus>0</collapsingstatus>
    <hithighlightedsummary>User, Name <ddd /> <c0>SharePoint</c0>:Z-Drive <ddd /> Costs</hithighlightedsummary>
    <hithighlightedproperties>
            <HHTitle>Angebot.pdf</HHTitle>
            <HHUrl>http://portal.url.de/sites/IT/Projects/Angebot.pdf</HHUrl>
    </hithighlightedproperties>
    <contentclass>STS_ListItem_DocumentLibrary</contentclass>
    <isdocument>True</isdocument>
    <picturethumbnailurl></picturethumbnailurl>
    <serverredirectedurl></serverredirectedurl>
    <sharepoint-invalid>False</sharepoint-invalid>
    <fileextension_multival>PDF</fileextension_multival>
    <fileextension>PDF</fileextension>
    <ows_metadatafacetinfo>Projectx0020Name|Project Name|o3PIYhfa0kOegAKxi60qtQ==|S7ZoMTb2ikCAhuSFlC+sGA==|#43318cf9-39f5-461c-a4d0-bd2653612092|SharePoint:Z-Drive;#Projectx0020Documentx0020Category0|Project Document Category|o3PIYhfa0kOegAKxi60qtQ==|zRewJpp710mnJ0bWknAb2Q==|#d8f09524-a0dc-4324-97c3-1d566e4af75f|Costs;#</ows_metadatafacetinfo>
    <popularsocialtags />
    <imageurl imageurldescription="">/_layouts/images/pdf16.gif</imageurl>

现在我需要检查的值

<sharepoint-invalid>False</sharepoint-invalid>

在 XSLT 中。 我尝试了以下代码,但它不起作用。我不知道如何正确检查布尔值,因为在搜索中总是显示 "Valid"

这是我的 XSLT 代码:

<xsl:choose>
    <xsl:when test="$SharePoint-Invalid = 'True'">
            <span style="color:#EF1317;font-weight:bold;">Invalid</span>
    </xsl:when>
    <xsl:otherwise>
            <span style="color:#199039;font-weight:bold;">Valid</span>
    </xsl:otherwise> </xsl:choose>

有人可以帮忙吗? 提前致谢。

【问题讨论】:

  • 你能显示变量$SharePoint-Invalid的定义吗?
  • XSLT 代码以以下行开头 [code]w3.org/1999/XSL/Transform" xmlns:srwrt="schemas.microsoft.com/WebParts/v3/searchresults/runtime" xmlns: ddwrt="schemas.microsoft.com/WebParts/v2/DataView/runtime"> ... [code] 所以我添加了行
  • 在这种情况下,$SharePoint-Invalid 是一个参数。你知道这个 XSLT 代码是如何被调用的吗?
  • 对不起,我不知道。我只需将此 XSLT 代码添加到 SharePoint 的 Web 部件。
  • 但是非常感谢您的提示。我现在想通了。我之前必须删除参数和参数符号,并且都必须是小写的。现在可以了!

标签: xml xslt sharepoint boolean


【解决方案1】:

我想通了。 这是代码:

<xsl:choose>
        <xsl:when test="sharepoint-invalid = 'True'">
          <span style="color:#EF1317;font-weight:bold;">Document Invalid</span>
        </xsl:when>
        <xsl:otherwise>
          <span style="color:#199039;font-weight:bold;">Document Valid</span>
        </xsl:otherwise>
      </xsl:choose>

如果我理解正确的话,问题是我检查了一个参数和值本身。此外,变量必须是小写字母才能测试。

【讨论】:

  • 很高兴你让它工作。现在您根本没有使用参数(既不是变量)。如果没有$sharepoint-invalid 指的是输入 XML - 这个元素真正存在的地方。
猜你喜欢
  • 2020-07-03
  • 2011-01-04
  • 1970-01-01
  • 1970-01-01
  • 2019-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多