У меня было следующее <a>
тег:
<a href="http://myserver/_forms?url={@FileRef}&id=5">...</a>
Один из файлов называют "File's got apostrophe.xml"
. Вывод XSL:
<a href="http://myserver/_forms?url=/blah/File&#39;s got apostrophe.xml&id=5">...</a>
Проблема состоит в том, что апостроф оставлен из HTML (дважды?) в &#39;
, который разрывает связь.
Я также попытался использовать <xsl:attribute>
, с теми же результатами:
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('http://myserver/_forms?url=', @FileRef, '&id=5')"
disable-output-escaping="yes" />
</xsl:attribute>
</a>
Вывод <xsl:value-of select="@FileRef" disable-output-escaping="yes" />
работы хорошо - незавершенное значение печатаются на странице.
Как я могу установить атрибут, не выходя из строки?
Вы можете сгенерировать свой как текст:
<xsl:text disable-output-escaping="yes"><a href="</xsl:text>
<xsl:value-of select="concat('http://myserver/_forms?url=', @FileRef, '&id=5')" disable-output-escaping="yes" />
<xsl:text disable-output-escaping="yes">" >/a<</xsl:text>