Ciao a tutti,
Sono sempre alle prese con il codice da applicare al docx.
Mi trovo in una situazione analoga alla seguente:
Struttura XML
codice:
<document>
<body>
<r>
<t> Fantasia</t>
</r>
<r>
<rPr>
<stile attr="parentesi" />
</rPr>
<t> Walt Disney </t>
</r>
</p>
</body>
</document>
Voglio in output: Fantasia (Walt Disney)
Ho scritto:
codice:
<xsl:template match="/document">
Elenco film
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="body">
[animazione]
<xsl:apply-templates/>
[/animazione]
</xsl:template>
<xsl:template match="p">
<xsl:apply-templates/><xsl:if test="position()!=last()"><xsl:text>
</xsl:text></xsl:if>
</xsl:template>
<xsl:template match="rPr">
<xsl:variable name="par" select="following-sibling::t/text()" />
<xsl:if test="stile[@attr='parentesi']">
<xsl:text>(</xsl:text>
<xsl:value-of select="$par" />
<xsl:text>)</xsl:text>
</xsl:if>
</xsl:template>
E il risultato è:
Elenco film
[animazione]
Fantasia (Walt Disney) Walt Disney
[/animazione]
Come posso fare per evitare la ripetizione fuori parentesi ?