2009-03-02 7 views
2

xmlが共有ポイントで返されました xsltを使ってそのようにハイパーリンクを作成しています。xsltを使用してハイパーリンクにGUIDを追加します

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

Iはまた<guid>1234</guid>がXMLで返される要素、 リンクは、クエリ文字列

例として、添付のGUIDとなるように、私はそれを希望を持っていますhttp://www.foo.com/signup.aspx?guid=1234

guidを追加するにはどうすればよいですか?

おかげ

+0

"guid"を選択するXPath式を構築できるように、できるだけ小さなXML文書を提供してください。ただ、「xmlに要素が返されている」と言っても意味がありません。 1つの可能な解決策については私の答えを見てください。 –

答えて

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

実際のXML文書が示されていないとして、我々は、XPath式がそれを選択するために使用するかを推測することはできません。

したがって、上記のリテラル結果要素のhref属性では、2番目のAVT(属性値テンプレート)にはこのXPath式のプレースホルダのみが含まれています。

1

GUIDがXMLで表示されますが、私は(CONCATを想像する場所)に依存トリックなどを行うだろう

働くかもしれない
<a href="{concat(substring-before(Sign-up-Link,','),'?guid=',guid)}"/> 
+0

なぜ "サインアップリンク"に "guid"という兄弟がいると思いますか?問題は次のように述べています。「xmlに返される要素はです。」最も曖昧な記述。また、concat()関数は本当に必要ではありません - 私の答えを参照してください。 –

+0

はい、それは曖昧です、私はそれがguid要素がxmlに表示される場所に依存していると言いました。私の兄弟位置の仮定は説明のためのものです –

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> 

...

+0

これは必要な結果を生成しません。この問題は、 "guid"はxmlドキュメントのどこかの要素であり、 "Sign-up-Link"の親の属性ではなく、 –