Would you like the data structure like this?
{
'Entity B' => {
'Boss' => 'Name',
'unitnumber' => '2',
'contactinfo' => {
'URL' => undef,
'email' => undef,
'Telefon' => {
'telnumber' => '456',
'directcall' => '78910',
'code' => '0999'
},
'Address' => {
'zip' => '11111',
'Street' => 'SomeOtherSt
+reet',
'Ort' => 'City',
'Building' => '2'
},
'Fax' => {
'telnumber' => '456',
'directcall' => '10987',
'code' => '0999'
}
},
'products' => {
'E5722' => 'few',
'C8099' => '522',
'F3596' => 'few',
'B0765' => '988',
'A1136' => '1982',
'D3938' => 'few'
}
},
'Entity A' => {
'Boss' => 'Name',
'unitnumber' => '1',
'contactinfo' => {
...
use strict;
use XML::Rules;
use Data::Dumper;
my $parser = XML::Rules->new(
rules => {
'excerpt' => 'pass no content',
'Address,Fax,Telefon,contactinfo,products' => 'no content',
'Boss,Building,Name,Ort,Street,URL,art_code,code,directcall,emai
+l,quantity,quantity_small,telnumber,unitnumber,zip' => 'content',
'article' => sub {
if (exists $_[1]->{quantity_small}) {
return #'%article' =>{
$_[1]->{art_code} => 'few' # };
} else {
return #'%article' => {
$_[1]->{art_code} => $_[1]->{quantity} #};
}
},
'unit' => 'no content by Name',
}
);
my $data = $parser->parse(\*DATA);
print Dumper($data);
__DATA__
<excerpt>
<unit>
<unitnumber>1</unitnumber>
...
The base set of rules was generated by: perl -MData::Dumper -MXML::Rules -e "print Dumper(XML::Rules::inferRulesFromExample( 'c:\temp\excerpt.xml'))"
Jenda
Enoch was right!
Enjoy the last years of Rome.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Outside of code tags, you may need to use entities for some characters:
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.