<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:key name="spawn" match="spawn"
use="concat(@map, '/', @npcid, '/', @interval)"/>
<xsl:template match="/">
<spawns>
<!-- Tous les spawn de triplet @map, @npcid, @interval distincts : -->
<xsl:apply-templates
select="//spawn[generate-id(.) = generate-id(key('spawn', concat(@map, '/', @npcid, '/', @interval)))]"
/>
</spawns>
<xsl:variable name="spawn">
<xsl:copy-of select="."/>
<xsl:apply-templates select="//object[../spawn=current()]"/>
</xsl:variable>
<xsl:variable name="objects"
select="//object[../@map = current()/@map and ../@npcid = current()/@npcid and ../@interval = current()/@interval]"
/>
<spawn map="{@map}" npcid="{@npcid}" interval="{@interval}"
pool="{count($objects)}"
>
<xsl:copy-of select="$objects"/>
</spawn>
</xsl:template>
</xsl:stylesheet>
Partager