I've been using XML::Smart to create xml files like so:
use XML::Smart;
use File::Slurp qw(slurp);
my $dtd = slurp 'file.dtd';
my $xml = XML::Smart->new();
$xml->{data} = {}; # empty data for example.
$xml->apply_dtd($dtd);
$xml->save('file.xml');
I've created the DTD on my own from an example XML file provided to me and this is working well. My problem is that I'm being provided a XML Schema instead of a DTD and I'd rather get this working using the Schema provided to me rather than a DTD I hacked together. I can't find a module/method that does the equivalent to apply_dtd (I'm looking for an apply_schema method).
Is there any module out there that I can use to create a file based on a Schema? Or maybe a module that can do a Schema to DTD conversion?
I'd appreciate any help with this, thanks.