21 novembre 2008 06:20
Le tri des déchets pour les geeks
By Gordontesos - cet homme est fou, développement
<?php
$sourceXML = <<<EOT
<?xml version="1.0" encoding="UTF-8" ?>
<trash>
<waste type="glass" />
<waste type="paper" />
<waste type="organic" />
<waste type="paper" />
<waste type="glass" />
<waste type="paper" />
</trash>
EOT;
$sheetXML = <<<EOT
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output indent="yes" method="xml" encoding="UTF-8"/>
<xsl:template match="/">
<xsl:apply-templates select="trash" />
</xsl:template>
<xsl:template match="trash">
<trash>
<xsl:apply-templates select="waste">
<xsl:sort select="@type" data-type="text" />
</xsl:apply-templates>
</trash>
</xsl:template>
<xsl:template match="waste">
<waste>
<xsl:attribute name="type">
<xsl:value-of select="@type" />
</xsl:attribute>
</waste>
</xsl:template>
</xsl:stylesheet>
EOT;
$sourceDoc =new DOMDocument();
$sourceDoc->loadXML($sourceXML);
$sheetDoc =new DOMDocument();
$sheetDoc->loadXML($sheetXML);
$proc = new XSLTProcessor();
$proc->importStyleSheet($sheetDoc);
$resultDoc = $proc->transformToDoc($sourceDoc);
$resultDoc->formatOutput = TRUE;
echo $resultDoc->saveXML();
?>
OUI je sais, j’ai déjà publié ça sur Facebook. Mais je pense que ça a plus sa place ici, tout compte fait. Et puis Facebook indexe mon flux RSS, donc ça revient au même.² Ceci dit, il est bien plus agréable de trier les déchets que les dates, croyez-moi.
No Comments yet »
Leave a Reply
You must be logged in to post a comment.