2009-03-02 75 views
2

我有一些xml在SharePoint中返回, 使用xslt創建超鏈接。將guid添加到使用xslt的超鏈接

<a href="{substring-before(Sign-up-Link,',')}"> 
    Sign up for event 
</a> 

我也有一個元件被<guid>1234</guid>在XML返回, 一個我想它使得鏈路將與所附作爲查詢字符串

例如的GUID http://www.foo.com/signup.aspx?guid=1234

我該如何追加guid?

感謝

+0

請提供最小的可用XML文檔,以便可以構建選擇「guid」的XPath表達式。只是說「我也有一個元素在xml中返回」沒有幫助。查看我的答案,找出可能的解決方案 – 2009-03-03 20:45:36

回答

1
<a href="{substring-before(Sign-up-Link,',')}?guid={XPathExpression---Selecting---The---GUID}"> 
    Sign up for event 
</a> 

由於沒有顯示實際的XML文檔,我們不能猜測XPath表達式,以選擇它使用。

因此,在上述文字結果元素的href屬性中,第二個AVT(屬性值 - 模板)僅包含此XPath表達式的佔位符。

1

取決於其中GUID出現在XML但我想CONCAT()將如做的伎倆

<a href="{concat(substring-before(Sign-up-Link,','),'?guid=',guid)}"/> 
+0

你爲什麼認爲「Sign-up-Link」有一個名爲「guid」的兄弟姐妹?這個問題說:「我還有一個元素在xml中返回」......最含糊不清的描述。此外,concat()函數並不是真的需要 - 請參閱我的答案。 – 2009-03-03 20:43:51

+0

是的,它含糊不清,我說這取決於guid元素出現在xml中,我對兄弟位置的假設是用於說明目的 – 2009-03-04 09:52:26

1
 <a> 
      <xsl:attribute name="href"> 
       {substring-before(Sign-up-Link,',')}?guid= 
       <xsl:value-of select="@guid"> 
       </xsl:value-of> 
      </xsl:attribute> 
      <xsl:attribute name="class"> 
       SignUpLink 
      </xsl:attribute> 
      Sign Up 
     </a> 

可能工作...