Sorry, no helpful advice here. Just an example where a desperate programmer can end up:
Torn directly from a programm, where I use XML::RSS, but want to include an extension tag and process that in an attached XSL (client-side).
open (my $F, '>', $file) || die $file;
my $feedstr = $rss->as_string();
$feedstr =~ s#(<channel>)(\s*)#$1$2<my:file>$fname</my:fil
+e>$2#;
die "Improper rss version in generation!?" unless
$feedstr =~ s#<(rss version="2\.0")[^>]*>#<$1 xmlns:my="ht
+tp://$HOME/">#;
$feedstr =~ s#\n#\n<?xml-stylesheet title="XSL_formatting"
+ type="text/xsl" href="rss.xsl"?>\n#;
print $F $feedstr;
close $F;