par
Tracker » 14 oct. 2007, 14:37
Je sais pas si ça peut t'aider, regarde le code suivant:
<?php
$strXML = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
<case x='7' y='7'>
<tile niveau='1' valeur='1,1,6' deplacement='999' />
<tile niveau='2' valeur='2,0,4' deplacement='0' />
</case>
<case x='5' y='8'>
<tile niveau='1' valeur='1,1,6' deplacement='999' />
<tile niveau='2' valeur='2,2,4' deplacement='0' />
</case>
<case x='5' y='9'>
<tile niveau='1' valeur='1,1,6' deplacement='999' />
</case>
<case x='3' y='8'>
<tile niveau='1' valeur='1,1,6' deplacement='999' />
<tile niveau='2' valeur='2,1,4' deplacement='0' />
</case>
<case x='3' y='9'>
<tile niveau='1' valeur='1,1,6' deplacement='999' />
</case>
<case x='5' y='2'>
<tile niveau='1' valeur='1,0,0' deplacement='1' />
<tile niveau='2' valeur='2,1,18' deplacement='1' />
<tile niveau='3' valeur='3,0,6' deplacement='0' />
</case>
</root>
XML;
$strXSL = <<<XSL
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<root>
<xsl:for-each select="//case">
<xsl:if test="@x < 6 and @x > -6 and @y < 6 and @y > -6">
<xsl:copy-of select="." />
</xsl:if>
</xsl:for-each>
</root>
</xsl:template>
</xsl:stylesheet>
XSL;
// xml
$dom_object = new DomDocument();
$dom_object->loadXML($strXML);
// xsl
$xsl_obj = new DomDocument();
$xsl_obj->loadXML($strXSL);
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsl_obj);
$result = $proc->transformToXML($dom_object);
header('content-type: text/plain');
var_dump($result);
?>
Tracker.
Je sais pas si ça peut t'aider, regarde le code suivant:
[php]
<?php
$strXML = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
<case x='7' y='7'>
<tile niveau='1' valeur='1,1,6' deplacement='999' />
<tile niveau='2' valeur='2,0,4' deplacement='0' />
</case>
<case x='5' y='8'>
<tile niveau='1' valeur='1,1,6' deplacement='999' />
<tile niveau='2' valeur='2,2,4' deplacement='0' />
</case>
<case x='5' y='9'>
<tile niveau='1' valeur='1,1,6' deplacement='999' />
</case>
<case x='3' y='8'>
<tile niveau='1' valeur='1,1,6' deplacement='999' />
<tile niveau='2' valeur='2,1,4' deplacement='0' />
</case>
<case x='3' y='9'>
<tile niveau='1' valeur='1,1,6' deplacement='999' />
</case>
<case x='5' y='2'>
<tile niveau='1' valeur='1,0,0' deplacement='1' />
<tile niveau='2' valeur='2,1,18' deplacement='1' />
<tile niveau='3' valeur='3,0,6' deplacement='0' />
</case>
</root>
XML;
$strXSL = <<<XSL
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<root>
<xsl:for-each select="//case">
<xsl:if test="@x < 6 and @x > -6 and @y < 6 and @y > -6">
<xsl:copy-of select="." />
</xsl:if>
</xsl:for-each>
</root>
</xsl:template>
</xsl:stylesheet>
XSL;
// xml
$dom_object = new DomDocument();
$dom_object->loadXML($strXML);
// xsl
$xsl_obj = new DomDocument();
$xsl_obj->loadXML($strXSL);
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsl_obj);
$result = $proc->transformToXML($dom_object);
header('content-type: text/plain');
var_dump($result);
?>
[/php]
Tracker.