0
Je ne suis pas familier avec les transformations xsl et les problèmes de regroupement de sous-chaînes. J'ai quelques xml comme suit:Regroupement de sous-chaînes avec XSLT
<?xml version="1.0" encoding="UTF-8"?>
<document-root>
<classes>
<class1>CATSryverty</class1>
<class1>CATSt6vvy</class1>
<class1>CATS4yv6v</class1>
<class1>DOGSrybytb</class1>
<class1>DOGSbu6b</class1>
<class1>DOGS5u57756</class1>
</classes>
</document-root>
et ce xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<docs>
<xsl:for-each select="document-root/classes">
<xsl:element name="classesCSV">
<xsl:for-each select="class1/text()">
<xsl:value-of select="substring(., 1, 4)"/>
<xsl:if test="not(position() = last())">,</xsl:if>
</xsl:for-each>
</xsl:element>
</xsl:for-each>
</docs>
</xsl:template>
</xsl:stylesheet>
Et qui me fait ceci:
<?xml version="1.0" encoding="UTF-8"?>
<docs>
<classesCSV>CATS,CATS,CATS,DOGS,DOGS,DOGS</classesCSV>
</docs>
Mais ce que je voudrais est la suivante:
<?xml version="1.0" encoding="UTF-8"?>
<docs>
<classesCSV>CATS,DOGS</classesCSV>
</docs>
Comment dois-je le changer?
Eh bien, vous a tagué cela avec groupe Muenchian, mais vous » re n ot en faire. –
Je l'ai vu mentionné concernant le groupement et je ne le comprends pas, mais j'ai pensé que cela pourrait être pertinent ici. Je ne sais pas comment combiner les résultats de la sous-chaîne dans le regroupement pour obtenir le résultat dont j'ai besoin. – Oleg
C'est très pertinent ici. Voir: http://www.jenitennison.com/xslt/grouping/muenchian.html –