1

我正在创建一个下载宏,并通过选择它们上传到的媒体文件夹来列出媒体部分中的项目。

我创建了一个媒体类型 Asset,它具有潜在的子节点 Asset Version。

我可以创建任意数量的资产版本,但我只想在我的下载宏中显示最新的资产版本。我为我的资产版本添加了一个标签 versionNumber,它添加了在同一资产中创建的数字值。

例如

  • 资产
    • 资产版本 - versionNumber = 1
    • 资产版本 - versionNumber = 2
    • 资产版本 - versionNumber = 3

目前,这仅列出了 versionNumber = 1 的资产版本:

<xsl:for-each select="$files/Asset/AssetVersion[@nodeTypeAlias = 'AssetVersion' and versionNumber= '1']">
  <xsl:sort select="./versionNumber" data-type="number" order="descending"/>
  <xsl:call-template name="Documents" />
</xsl:for-each>

我只想在我的列表中显示最新的资产版本,并且只显示那个版本。

我的下载宏可以列出多个资产,但应该只为每个显示一个 AssetVersion。

例如下载宏

  • 资产 1
    • 资产 1 - 资产版本 - versionNumber = 3
  • 资产 2
    • 资产 2 - 资产版本 - versionNumber = 1
  • 资产 3
    • 资产 3 - 资产版本 - versionNumber = 6

有人可以帮忙吗?

干杯合资企业

4

1 回答 1

1

使用

<xsl:for-each select="$files/Asset">
  <!-- output here the Asset number /id -->
  <xsl:for-each select="AssetVersion[@nodeTypeAlias = 'AssetVersion']">
    <xsl:sort select="versionNumber" data-type="number" order="descending"/>

    <xsl:if test="position()=1">
      <xsl:call-template name="Documents" />
    </xsl:if> 
  </xsl:for-each>
</xsl:for-each>
于 2012-12-28T04:12:32.083 回答