Ho avuto il <a>
tag seguente:XSL - Come disabilitare l'escaping dell'output per un attributo?
<a href="http://myserver/_forms?url={@FileRef}&id=5">...</a>
Uno dei file si chiama "File's got apostrophe.xml"
. L'uscita del XSL è:
<a href="http://myserver/_forms?url=/blah/File&#39;s got apostrophe.xml&id=5">...</a>
Il problema è che l'apostrofo è HTML-escape (due volte?) In &#39;
, che rompe il collegamento.
Ho anche provato ad utilizzare <xsl:attribute>
, con gli stessi risultati:
<a>
<xsl:attribute name="href">
<xsl:value-of select="concat('http://myserver/_forms?url=', @FileRef, '&id=5')"
disable-output-escaping="yes" />
</xsl:attribute>
</a>
Emissione <xsl:value-of select="@FileRef" disable-output-escaping="yes" />
funziona bene - il valore di escape viene stampato sulla pagina.
Come posso impostare l'attributo senza sfuggire alla stringa?
hai provato a memorizzare la stringa in una variabile e l'output? –
hai provato diversi processori/browser xslt? – user306708
@Gaby - Non ci ho provato, ci ho pensato, ma non aveva senso. Non sembrava migliore dell'output del campo '@ FileRef'. Ti stai riferendo all'intero tag '', simile alla risposta di tpeczek? – Kobi