2009-03-02 10 views
2

J'ai un xml renvoyé dans sharepoint, Im utilisant xslt pour créer le lien hypertexte comme ça.Ajout d'un guid au lien hypertexte à l'aide de xslt

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

J'ai aussi un élément <guid>1234</guid> étant retourné dans le xml, un je voudrais pour que le lien soit avec le guid en annexe comme querystring

par exemple http://www.foo.com/signup.aspx?guid=1234

comment ajouter le guid?

grâce

+0

Veuillez fournir le plus petit document XML possible, afin qu'il soit possible de construire une expression XPath qui sélectionne "guid". Juste dire "J'ai aussi un élément étant retourné dans le xml" n'est pas utile. Voir ma réponse pour une solution possible. –

Répondre

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

Comme le document XML réel n'apparaît pas, nous ne pouvons pas deviner ce que l'expression XPath à utiliser pour sélectionner. Par conséquent, dans l'attribut href de l'élément de résultat littéral ci-dessus, le second AVT (attribute-value-template) contient juste un espace réservé pour cette expression XPath.

1

dépend où l'guid apparaît dans le xml mais j'imagine concat() ferait l'affaire par exemple

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

Pourquoi pensez-vous que "Sign-up-Link" a un frère nommé "guid"? Le problème dit: "J'ai aussi un élément étant retourné dans le xml" ... La description la plus vague. En outre, la fonction concat() n'est pas vraiment nécessaire - voir ma réponse. –

+0

Oui c'est vague c'est whay j'ai dit que cela dépend où les éléments guid apparaissent dans le xml, mon hypothèse de position de frère est à des fins d'illustration –

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> 

qui pourrait fonctionner ...

+0

Ceci ne produira pas le résultat requis. Le problème indique que le "guid" est un élément quelque part dans le document xml - pas un attribut du parent de "Sign-up-Link" –

Questions connexes