l'inghippo è che il tuo dato xml è una stringa e la conversione implicita di una stringa in intero avviene sempre in decimale, leading zero presente o meno.... peccato che la tua stringa rappresenti un numero ottale.
Mkdir vuole un numero decimale, con octdec forzi la conversione di base.
Qui puoi vedere la differenza:
Codice PHP:
<?php
$a=0777;
$b="0777";
echo "octdec(0777) -> ".octdec($a);
echo "
";
echo "octdec("0777") -> ".octdec($b);
?>