#!/usr/bin/perl
use XML::Simple;
use Data::Dumper;
my $file = $ARGV[0];
$xml = new XML::Simple;
my $data = $xml->XMLin($file, ForceArray=>['xs:element']);
open FH,">file.out";
print FH Dumper($data);
foreach my $complex(keys %{$data->{'xs:complexType'}}) {
my $seq = $data->{'xs:complexType'}->{$complex}->{'xs:sequence'};
my $elementref;
if (exists($seq->{'xs:element'}->{'xs:choice'})){
$elementref = $seq->{'xs:element'}->{'xs:choice'};}
elsif (exists($seq->{'xs:choice'}->{'xs:element'})){
$elementref = $seq->{'xs:choice'}->{'xs:element'};}
if (exists($seq->{'xs:element'})){
$elementref = $seq->{'xs:element'};
}
elsif (exists($seq->{'xs:choice'})){
$elementref = $seq->{'xs:choice'};}
else { die "unknown data structure at $complex->xs:sequence\n";}
foreach my $element (keys %$elementref){
print "$complex.$element\n";
}
}
####
####