2012-05-01 21 views
60
<a> 
    <xsl:attribute name="href"> 
    <xsl:value-of select="/*/properties/property[@name='report']/@value" /> 
    </xsl:attribute> 
</a>  

Có cách nào để cancat một chuỗi đểLàm thế nào để concat một chuỗi để xsl: value-of select =" ...

<xsl:value-of select="/*/properties/property[@name='report']/@value" /> 

tôi cần phải vượt qua một số văn bản đến thuộc tính href trong Ngoài giá trị tài sản báo cáo

Trả lời

103

Bạn có thể sử dụng chức năng xpath khá hợp lý có tên gọi là concat đây

<a> 
    <xsl:attribute name="href"> 
     <xsl:value-of select="concat('myText:', /*/properties/property[@name='report']/@value)" /> 
    </xsl:attribute> 
</a> 

Tất nhiên, nó không phải là văn bản ở đây, nó có thể là một biểu thức xpath khác để chọn một phần tử hoặc thuộc tính. Và bạn có thể có bất kỳ số lượng đối số nào trong biểu thức concat.

Đỗ lưu ý, bạn có thể tận dụng Attribute Value Templates (đại diện bởi các dấu ngoặc nhọn) ở đây để đơn giản hóa biểu hiện của bạn

<a href="{concat('myText:', /*/properties/property[@name='report']/@value)}"></a> 
+2

@TimC: Tốt, nhưng 'concat() 'chức năng là không cần thiết ở đây. –

+0

Tôi có thẻ sau: 'Anders, John' và tôi muốn tạo một trường ẩn trong XSLT chỉ lấy ID #. Làm thế nào tôi có thể đạt được điều đó? – SearchForKnowledge

14

Sử dụng:

<a href="wantedText{/*/properties/property[@name='report']/@value)}"></a> 
17

Ba trả lời:

Đơn giản:

<img> 
    <xsl:attribute name="src"> 
     <xsl:value-of select="//your/xquery/path"/> 
     <xsl:value-of select="'vmLogo.gif'"/> 
    </xsl:attribute> 
</img> 

Sử dụng 'concat':

<img> 
    <xsl:attribute name="src"> 
     <xsl:value-of select="concat(//your/xquery/path,'vmLogo.gif')"/>      
    </xsl:attribute> 
</img> 

Thuộc tính shortcut theo đề nghị của @TimC

<img src="{concat(//your/xquery/path,'vmLogo.gif')}" /> 
+1

Như đã chú ý bởi Dimitre, bạn không cần concat ở đây: '' – Svish

3

Cách dễ nhất để concat một chuỗi văn bản tĩnh cho một giá trị được lựa chọn là sử dụng phần tử.

<a> 
    <xsl:attribute name="href"> 
    <xsl:value-of select="/*/properties/property[@name='report']/@value" /> 
    <xsl:text>staticIconExample.png</xsl:text> 
    </xsl:attribute> 
</a> 
-1

phương pháp dễ nhất là

<TD> 
    <xsl:value-of select="concat(//author/first-name,' ',//author/last-name)"/> 
    </TD> 

khi cấu trúc XML là

<title>The Confidence Man</title> 
<author> 
    <first-name>Herman</first-name> 
    <last-name>Melville</last-name> 
</author> 
<price>11.99</price> 
Các vấn đề liên quan