Scuse per commentare questo vecchio thread, ma per gli altri trovandolo come me si potrebbe anche usare JavaScript se si utilizza un trasformatore MS:
dichiarare il "msxsl" namespace:
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
dichiarare uno spazio dei nomi per lo script:
xmlns:js="urn:custom-javascript"
(opzionale) Omettere ° e prefissi dalla uscita:
exclude-result-prefixes="msxsl js"
Così si finisce con una dichiarazione XSL come questo:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:js="urn:custom-javascript"
exclude-result-prefixes="msxsl js">
Scrivi il codice JavaScript nella msxsl: elemento script:
<msxsl:script language="JavaScript" implements-prefix="js">
<![CDATA[
function javascriptFunction(dateValue){
var date = new Date(dateValue);
if(!isNaN(date)) return date.toLocaleString();
return dateValue;
}
]]>
</msxsl:script>
Chiamate il vostro Funzione JavaScript (usando la sintassi XPath '.' Che denota 'questo nodo'):
<xsl:value-of select="js:javascriptFunction(string(.))"/>
NB: Al momento della scrittura non sembra esserci un modo (xsl) per includere file js esterni (ad es. libreria jquery). Questo potrebbe essere fatto analizzando il lato file server xsl prima della trasformazione e aggiungendo il contenuto del file js come una stringa in una sezione CDATA. Ho iniziato a seguire questa rotta da solo, ma ho concluso che se hai bisogno di questo livello di funzionalità potrebbe essere posizionato in una parte diversa della pipeline.
fonte: http://dev.ektron.com/kb_article.aspx?id=482
ref: http://www.ibm.com/developerworks/xml/library/x-tipxsltjs/index.html
fonte
2012-03-09 06:28:50
E 'molto importante indicare la versione e XSLT piattaforma – AnthonyWJones
E' più probabile XSLT 1.0 e .NET perché la domanda è codificata con C# –
@divo: ben individuato – AnthonyWJones