Sorry Matt, I guess I made the highly simplified XML that I posted a little too simplified.
Here is a better generalization of the XML I want to produce: ......... <users> <user> <first_name> ... </first_name> <user_id> ... </user_id> <last_name> ... </last_name> <username> ... </username> <users_arms> <users-arm> <hand> <fingers> <finger> .... </finger> <finger> .... </finger> <finger> .... </finger> <finger> .... </finger> <finger> .... </finger> </fingers> </hand> <elbow> .... </elbow> </users-arm> <users-arm> <hand> <fingers> <finger> .... </finger> <finger> .... </finger> <finger> .... </finger> <finger> .... </finger> <finger> .... </finger> </fingers> </hand> <elbow> .... </elbow> </users-arm> </users-arms> </user> <user> .... </user> </users> ..... Basically what I am trying to produce is a deeply nested XML tree where each group of singular elements is enclosed in a larger plural element (arms->arm, fingers->finger). Doing what you suggested works fine whith the question I originally posted, but my actual need is more complicated (again, sorry for oversimplifying it). After posting my question to the mailling list, I looked around myself for an answer to my problem. I haven't yet found a way to use TaglibHelper to do what I want, but I have been looking at the TaglibHelper code and I think that a very minor change would make the functionality possible. I think it may be as simple as changing this snippet of code: 170 # each item within an array should have a wrapper "-item" tag 171 my $item; 172 if ($options{itemtag}) { 173 $item = $document->createElement($options{itemtag}); 174 } 175 else { 176 my $funcname = $options{'array_uses_hash'} ? $lastkey : 177 func_name($funspec) || func_name($funspec); 178 $funcname =~ s/_|\s/-/g; # convert back to XML-style tagnames 179 $item = $document->createElement("${funcname}-item"); 180 } to this new snippet of code: 170 # each item within an array should have a wrapper "-item" tag 171 my $item; 172 if ($options{itemtag}) { 173 $item = $document->createElement($options{itemtag}); 174 } 175 elsif($options{'plural_tags'}) { 176 my $new_element_name = $lastkey; 177 $new_element_name =~ s/s$//; # Remove trailing s's from plural tags 178 $item = $document->createElement($new_element_name); 179 } 180 else { 181 my $funcname = $options{'array_uses_hash'} ? $lastkey : 182 func_name($funspec) || func_name($funspec); 183 $funcname =~ s/_|\s/-/g; # convert back to XML-style tagnames 184 $item = $document->createElement("${funcname}-item"); 185 } I have not yet tested the above code (will probably do that in the morning) Am I oversimplying the modifications needed to add this functionallity? Is there something that I'm missing? Thanks, -Chuck On 10/3/05, Matt Sergeant <[EMAIL PROTECTED]> wrote: > On 30 Sep 2005, at 15:12, Chuck Phillips wrote: > > > Any ideas on how to convince TaglibHelper to not include the unwanted > > "-item" tags? > > return: > > 'users' => [ > { > 'first_name' => '...', > 'user_id' => '...', > 'last_name' => '...', > 'username' => '...', > }, > ... > ] > > and set itemtag=user in your @EXPORT_TAGLIB line. > > Matt. > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]