That's not working for me. The 'type' attribute gets lost.
The code:
use XML::Smart;
my $xml = XML::Smart->new;
$xml->{customer}{phone} = "555-1234";
$xml->{customer}{phone}{type} = "home";
$xml->apply_dtd(<<EOF);
<?xml version="1.0" ?>
<!DOCTYPE customer [
<!ELEMENT customer (phone+)>
<!ELEMENT phone (#PCDATA)>
<!ATTLIST phone type PCDATA #REQUIRED>
]>
EOF
print $xml->data;
The results:
<?xml version="1.0" encoding="iso-8859-1" ?>
<?meta name="GENERATOR" content="XML::Smart/1.6.6 Perl/5.008 [MSWin32]
+" ?>
<!DOCTYPE customer [
<!ELEMENT customer (phone+)>
<!ELEMENT phone (#PCDATA)>
<!ATTLIST phone type PCDATA #REQUIRED>
]>
<customer>
<phone>555-1234</phone>
</customer>
Use of uninitialized value in print at testxml.pl line 19.
Line 19 is print $xml->data.
90% of every Perl application is already written. ⇒ |
dragonchild |