
Have you ever tried to insert the Google Adsense code directly into your
Blogger XML Template and get this error?
Your
template could not be parsed as it is not well-formed. Please make sure
all XML elements are closed properly. XML error message: The processing
instruction target matching "[xX][mM][lL]" is not allowed.
So, you resolve to insert the Adsense code using blogger widgets.
However that means your widgets can not appear within each post, the
best spots to place your ads. Don't worry, there is a way of inserting
Adsense code straight into your XML templates.
Since Blogger started using XML everything is more strict and
standardized. The above error simply mean the Adsense code is not
standized XML and solve it we need to replace all the
html character such as '<' with '>' '"' with '"'. For example:
Quote:
<script type="text/javascript"><!--
google_ad_client = "pub-XXXXXXXXXXXXXXX";
google_ad_width = 336;
google_ad_height = 280;
google_ad_format = "336x280_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "000000";
google_color_text = "000000";
google_color_url = "000000";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
would be
Quote:
<script type="text/javascript"><!--
google_ad_client = "pub-XXXXXXXXXXXXXXX";
google_ad_width = 336;
google_ad_height = 280;
google_ad_format = "336x280_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "000000";
google_color_text = "000000";
google_color_url = "000000";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
You can use your text editor to replace all the HTML, but
Blogcrowds also has an
HTML parsed that takes care of everything for you. Now with the code you can paste it anywhere in your HTML code with no error at all.
Here are some tips for where in the XML Template you should paste the
parsed HTML code. I used a barebone Minima template so it should be
similar in all templates. Find the normal text and then add the bolded
code are added by me:
1)
Next To The Post
<div style="float:left;">
<!--parsed Adsense code-->
</div>
<div class='post-body'>
<p><data:post.body/></p>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
2)
After Post Before Credits
<div class='post-body'>
<p><data:post.body/></p>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<div><!--parsed Adsense code--></div> <div class='post-footer'>
<p class='post-footer-line post-footer-line-1'>
<span class='post-author'>
<b:if cond='data:top.showAuthor'>
<data:top.authorLabel/> <data:post.author/>
3)
After Credits
<p class='post-footer-line post-footer-line-3'/>
<div><!--parsed Adsense code--></div> </div>
</div>
</b:includable>
</b:widget>
</b:section>
If you worry this method may violate Google Adsense TOS continue reading this
update.Thanks
Stavanger for sharing this. Want to read
the Original Article?