XML::Simpleでnamespaceを設定する
XMLoutのオプションにNSExpand=>1を加えると名前空間を扱えるようになる。XML::NamespaceSupportが必要。
use XML::Simple; my $obj = {'{http://www.w3.org/2000/xmlns/}foaf' => 'http://xmlns.com/foaf/0.1/', '{http://www.w3.org/2000/xmlns/}rdf' => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', '{http://xmlns.com/foaf/0.1/}Person' => {'{http://xmlns.com/foaf/0.1/}name' => 'holidays-l'}, }; print XMLout($obj, NoAttr => 1, KeyAttr => [], NSExpand => 1, RootName => 'rdf:RDF');
出力はこうなる。
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <foaf:Person> <foaf:name>holidays-l</foaf:name> </foaf:Person> </rdf:RDF>