Ho bisogno di scorrere i caratteri in una stringa per creare una struttura XML.XSLT 1.0: Iterate su caratteri in una stringa
Attualmente, sto facendo questo:
<xsl:template name="verticalize">
<xsl:param name="text">Some text</xsl:param>
<xsl:for-each select="tokenize(replace(replace($text,'(.)','$1\\n'),'\\n$',''),'\\n')">
<xsl:element name="para">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</xsl:template>
Questo produce qualcosa di simile:
<para>S</para>
<para>o</para>
<para>m</para>
<para>e</para>
<para> </para>
<para>t</para>
<para>e</para>
<para>x</para>
<para>t</para>
Questo funziona bene con XPath 2.0. Ma ho bisogno di applicare lo stesso trattamento in un ambiente XPath 1.0, in cui il metodo replace()
non è disponibile.
Conosci un modo per raggiungere questo obiettivo?
Ottima domanda (+1). Vedi la mia risposta per una soluzione XSLT 2.0, che è anche la più breve finora. :) –
Vedere anche la mia soluzione XSLT 1.0. :) –
@Dimitre, se non fosse il più breve, non sarebbe stato inutile usare XSLT 2.0 ;-) – Lucero