最佳,
目前,我们正在使用IBM Watson Explorer,共享点连接器存在问题。连接器似乎是从原始URL到WATSON URL的“错误”转换,这就是我们试图通过XSLT 1.0修复的问题。
<xsl:variable name="url-tokens" select="str:tokenize($seed-urls, ' ')" />
<xsl:variable name="fixed-urls">
<!-- == newline -->
<xsl:for-each select="$url-tokens">
<xsl:variable name="url-parts" select="viv:url-decompose(.)" />
<!-- Append a slash ("/") to the path, unless the path already has a slash, or ends in ".aspx" -->
<xsl:variable name="fixed-path" select="concat($url-parts/path,viv:if-else(viv:match($url-parts/path, '(\.aspx|\/)$'),'','/'))" />
<!-- Rebuild the URL, but use the io-sp protocol and the fixed path (constructed above) -->
<xsl:value-of select="viv:url-build($crawl-protocol, '', '', $url-parts/host, $url-parts/port, $fixed-path, '')" />
<xsl:value-of select="' '" />
</xsl:for-each>
</xsl:variable>
viv:url-decompose将基本网址转换为以下部分(“url-parts”):url-parts / host,url-parts / port和url-parts / path。
Watson URL基于url-parts / host和url-parts / path的串联。但我们相信这种分解并不像我们预期的那样有效。因为我们无法删除任何代码,所以我们一直在尝试使用正确的命名创建变体。
举个例子: url-parts:www.sharepoint-domain.com/IT/PM/page_name 将通过viv:url-decompose转换为:
这对我们的设置不正确:
我们需要的是:
可能有用的一个选项是:
问题
如何创建一个带子项的变量,使得这个新变量的行为好像什么都没有改变? (例如** $ url-parts / host **和** $ url-parts / path **仍然必须按原定的方式工作)
因此
<xsl:variable name="url-parts-temp" select="viv:url-decompose(.)" />
<!-- Magic
<xsl:variable name="url-parts/host" select="concat($url-parts/host,'/IT/PM/'" />
<xsl:variable name="url-parts/path" select="substring($url-parts/path,6)" />
<xsl:variable name="url-parts/port" select="$url-parts-temp/port" />
-->
<xsl:variable name="fixed-path" select="concat($url-parts/path, ... )" />
亲切的问候
答案 0 :(得分:0)
首先,将第一个命名为不同的分解:
select
LookUpID,
LookUpDate
FROM
[TotalQtySalesParent]
group by LookUpDate ,LookUpID
having LookUpDate =max(LookUpDate)
其次,创建一个变量 url 及其所属的值:
<xsl:variable name="url-parts-temp" select="viv:url-decompose(.)" />
第三,对变量 $ url 使用 exsl:node-set :
<xsl:variable name="url">
<path><xsl:value-of select="substring($url-parts-temp/path,string-length('it/pm')+2)"/></path>
<host><xsl:value-of select="concat($url-parts-temp/host,$url-parts-temp/path)"/></host>
<port>$url-parts-temp/port</port>
<query>$url-parts-temp/query</query>
</xsl:variable>
结果现在您可以像以前一样使用url-parts:
<xsl:variable name="url-parts" select="exsl:node-set($url)" />