<a>
<xsl:attribute name="href">
<xsl:value-of select="/*/properties/property[@name='report']/@value" />
</xsl:attribute>
</a>
Czy istnieje sposób, aby usunąć inny ciąg znaków
<xsl:value-of select="/*/properties/property[@name='report']/@value" />
Muszę przekazać jakiś tekst do atrybutu href oprócz wartości właściwości raportu
concat()
funkcja nie jest tutaj potrzebna.<a title="" href="https://stackoverflow.com/page.cfm?id=425">Anders, John</a>
i chciałbym utworzyć ukryte pole w XSLT, które przyjmuje tylko ID #. Jak mogę to osiągnąć?Trzy odpowiedzi:
Prosty :
<img> <xsl:attribute name="src"> <xsl:value-of select="//your/xquery/path"/> <xsl:value-of select="'vmLogo.gif'"/> </xsl:attribute> </img>
Korzystanie z „concat”:
<img> <xsl:attribute name="src"> <xsl:value-of select="concat(//your/xquery/path,'vmLogo.gif')"/> </xsl:attribute> </img>
Skrót do atrybutu zgodnie z sugestią @TimC
<img src="{concat(//your/xquery/path,'vmLogo.gif')}" />
źródło
<img src="{//your/xpath}vmLogo.gif" />
Zastosowanie :
<a href="wantedText{/*/properties/property[@name='report']/@value)}"></a>
źródło
Najłatwiejszym sposobem połączenia statycznego ciągu tekstowego z wybraną wartością jest użycie element.
<a> <xsl:attribute name="href"> <xsl:value-of select="/*/properties/property[@name='report']/@value" /> <xsl:text>staticIconExample.png</xsl:text> </xsl:attribute> </a>
źródło
Najłatwiejsza metoda to
<TD> <xsl:value-of select="concat(//author/first-name,' ',//author/last-name)"/> </TD>
kiedy struktura XML jest
<title>The Confidence Man</title> <author> <first-name>Herman</first-name> <last-name>Melville</last-name> </author> <price>11.99</price>
źródło
Nie jest to najbardziej czytelne rozwiązanie, ale możesz połączyć wynik z wartości-of ze zwykłym tekstem:
<a> <xsl:attribute name="href"> Text<xsl:value-of select="/*/properties/property[@name='report']/@value"/>Text </xsl:attribute> </a>
źródło
' Text'
), zostaną wyprowadzone białe znaki (nawet nowa linia).