1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:key name="elemKey" match="FM1Titre" use="generate-id( parent::XML )" />
<xsl:key name="elemKey" match="*[name() != 'FM1Titre' and name() != 'XML']" use="generate-id( preceding-sibling::FM1Titre[1] )" />
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="XML" >
<XML>
<xsl:apply-templates select="key('elemKey', generate-id(.))"/>
</XML>
</xsl:template>
<xsl:template match="FM1Titre" >
<xsl:element name="{normalize-space(.)}">
<xsl:apply-templates select="key('elemKey', generate-id(.))"/>
</xsl:element>
</xsl:template>
<xsl:template match="*" >
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet> |
Partager