INPUT: i ai élément non numéroté avec @type « PT » avec les frères et sœurs qui suit sans numéro @type « chapitre » je veux regrouper tous chapitre à l'intérieur partie .:Je veux regrouper les ensembles d'éléments?
<contents>
<unnumbered type="PT">
<title>Title one</title>
</unnumbered>
<unnumbered type="chapter" manid="01"/>
<unnumbered type="chapter" manid="02"/>
<unnumbered type="chapter" manid="03"/>
<unnumbered type="PT">
<title>Title Two</title>
</unnumbered>
<unnumbered type="chapter" manid="04"/>
<unnumbered type="chapter" manid="05"/>
<unnumbered type="chapter" manid="06"/>
<unnumbered type="PT">
<title>Title Three</title>
</unnumbered>
<unnumbered type="chapter" manid="07"/>
<unnumbered type="chapter" manid="08"/>
<unnumbered type="chapter" manid="09"/>
<unnumbered type="chapter" manid="10"/>
<unnumbered type="PT">
<title>Title Four</title>
</unnumbered>
<unnumbered type="chapter" manid="11"/>
<unnumbered type="chapter" manid="12"/>
<unnumbered type="chapter" manid="13"/>
<unnumbered type="chapter" manid="14"/>
<unnumbered type="chapter" manid="15"/>
</contents>
contenu sortie provenant répété dans chaque section:
<contents>
<unnumbered type="PT">
<title>Title one</title>
<unnumbered>
<unnumbered type="chapter" manid="01"/>
<unnumbered type="chapter" manid="02"/>
<unnumbered type="chapter" manid="03"/>
<unnumbered type="chapter" manid="04"/>
<unnumbered type="chapter" manid="05"/>
<unnumbered type="chapter" manid="06"/>
<unnumbered type="chapter" manid="07"/>
<unnumbered type="chapter" manid="08"/>
<unnumbered type="chapter" manid="09"/>
<unnumbered type="chapter" manid="10"/>
<unnumbered type="chapter" manid="11"/>
<unnumbered type="chapter" manid="12"/>
<unnumbered type="chapter" manid="13"/>
<unnumbered type="chapter" manid="14"/>
<unnumbered type="chapter" manid="15"/>
</unnumbered>
</unnumbered>
<unnumbered type="PT">
<title>Title Two</title>
<unnumbered>
<unnumbered type="chapter" manid="04"/>
<unnumbered type="chapter" manid="05"/>
<unnumbered type="chapter" manid="06"/>
<unnumbered type="chapter" manid="07"/>
<unnumbered type="chapter" manid="08"/>
<unnumbered type="chapter" manid="09"/>
<unnumbered type="chapter" manid="10"/>
<unnumbered type="chapter" manid="11"/>
<unnumbered type="chapter" manid="12"/>
<unnumbered type="chapter" manid="13"/>
<unnumbered type="chapter" manid="14"/>
<unnumbered type="chapter" manid="15"/>
</unnumbered>
</unnumbered>
<unnumbered type="PT">
<title>Title Three</title>
<unnumbered>
<unnumbered type="chapter" manid="07"/>
<unnumbered type="chapter" manid="08"/>
<unnumbered type="chapter" manid="09"/>
<unnumbered type="chapter" manid="10"/>
<unnumbered type="chapter" manid="11"/>
<unnumbered type="chapter" manid="12"/>
<unnumbered type="chapter" manid="13"/>
<unnumbered type="chapter" manid="14"/>
<unnumbered type="chapter" manid="15"/>
</unnumbered>
</unnumbered>
<unnumbered type="PT">
<title>Title Four</title>
<unnumbered>
<unnumbered type="chapter" manid="11"/>
<unnumbered type="chapter" manid="12"/>
<unnumbered type="chapter" manid="13"/>
<unnumbered type="chapter" manid="14"/>
<unnumbered type="chapter" manid="15"/>
</unnumbered>
</unnumbered>
</contents>
désiré SORTIE: je veux faire partie des informations d'emballage avec ses frères et soeurs qui suit avec l'attribut @type = chapitre:
<contents>
<unnumbered type="PT">
<title>Title one</title>
<unnumbered type="chapter" manid="01"/>
<unnumbered type="chapter" manid="02"/>
<unnumbered type="chapter" manid="03"/>
</unnumbered>
<unnumbered type="PT">
<title>Title Two</title>
<unnumbered type="chapter" manid="04"/>
<unnumbered type="chapter" manid="05"/>
<unnumbered type="chapter" manid="06"/>
</unnumbered>
<unnumbered type="PT">
<title>Title Three</title>
<unnumbered type="chapter" manid="07"/>
<unnumbered type="chapter" manid="08"/>
<unnumbered type="chapter" manid="09"/>
<unnumbered type="chapter" manid="10"/>
</unnumbered>
<unnumbered type="PT">
<title>Title Four</title>
<unnumbered type="chapter" manid="11"/>
<unnumbered type="chapter" manid="12"/>
<unnumbered type="chapter" manid="13"/>
<unnumbered type="chapter" manid="14"/>
<unnumbered type="chapter" manid="15"/>
</unnumbered>
</contents>
UTILISATION XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0">
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="contents">
<contents>
<xsl:for-each-group select="unnumbered" group-starting-with="unnumbered[@type='PT']">
<unnumbered>
<xsl:apply-templates select="@*"/>
<xsl:apply-templates/>
<xsl:choose>
<xsl:when test="following-sibling::unnumbered[@type='chapter']">
<unnumbered>
<xsl:apply-templates
select="following-sibling::unnumbered[@type='chapter']"/>
</unnumbered>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="current-group()"/>
</xsl:otherwise>
</xsl:choose>
</unnumbered>
</xsl:for-each-group>
</contents>
</xsl:template>
</xsl:stylesheet>
Merci monsieur, je l'ai eu. –
@gopikrishna, si le problème est résolu alors pensez à accepter la réponse. –