No it wouldn't. Your clutching at straws now.
Lets say you want to output the following XML file;
<artists>
<artist>
<name>Aerosmith</name>
<genre>Rock & Roll</genre>
</artist>
<artist>
<name>Abba</name>
<genre>Pop</genre>
</artist>
</artists>
And you want to generate that using aXML. The code would be :
<artists>
<db_select>
<query> SELECT * FROM artists</query>
<mask>
<artist>
<name><d>name</d></name>
<genre><d>genre</d></genre>
</artist>
</mask>
</db_select>
</artists>
Now if the & in the data has been encoded to & prior to being stored in the database then when you pull it out it's ready to go, if on the other hand it's stored in the database as the single char &, then your going to want to convert it (and any other examples in the data) before output.
You can do that by simply creating a plugin called something like <convert_amps>. The code of which will look like:
$plugins->{'convert_amps'} = sub {
my $data = $_[1];
$data =~ s@\&@\&@gs;
return $data;
};
Now you just wrap the above aXML code with the new tag.
<convert_amps>
<artists>
<db_select>
<query> SELECT * FROM artists</query>
<mask>
<artist>
<name><d>name</d></name>
<genre><d>genre</d></genre>
</artist>
</mask>
</db_select>
</artists>
</convert_amps>
Now obviously if the & is encoded in the database your going to end up with &amp;, but then you could just code the plugin to be a bit smarter than the above example, or you could make sure your data is clean to begin with.
Your actually already using something similar to aXML on this very site when you wrap your code in <code> tags!
|