Skip to main content
Commercial Photography

Blogger XML Operator and Syntax Updates 2015

Blogger Logo

Recently Blogger has released several new operators for the syntax of XML them. This new syntax allows us to be able to write code templates that better, more logical and more efficient. In addition to reducing the size of the file is XML, the new syntax also allows developers to be able to find new potentials in manipulating the template code Bloggers who used mostly only we can do with JavaScript. Here is a summary ...

And

Before

<b:if cond='data:blog.searchQuery'>
<b:if cond='data:numPosts &gt; 10'>
The search results by the number of posts more than 10 ...
</b:if>
</b:if>

After

<b:if cond='data:blog.searchQuery and data:numPosts &gt; 10'>
The search results by the number of posts more than 10 ...
</b:if>
<b:if cond='data:blog.searchQuery &amp;&amp; data:numPosts &gt; 10'>
The search results by the number of posts more than 10 ...
</b:if>

Or

Before

<b:if cond='data:blog.pageType == &quot;index&quot;'>
Pass the test ...
</b:if>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
Pass the test ...
</b:if>

After

<b:if cond='data:blog.pageType == &quot;index&quot; or data:blog.pageType == &quot;item&quot;'>
Pass the test ...
</b:if>
<b:if cond='data:blog.pageType == &quot;index&quot; || data:blog.pageType == &quot;item&quot;'>
Pass the test ...
</b:if>

Not

Before

<b:if cond='data:comment.isDeleted'>
<b:else/>
Comments are not erased here ...
</b:if>
<b:if cond='data:comment.isDeleted == &quot;false&quot;'>
Comments are not erased here ...
</b:if>

After

<b:if cond='!data:comment.isDeleted'>
Comments are not erased here ...
</b:if>
<b:if cond='not data:comment.isDeleted'>
Comments are not erased here ...
</b:if>
Which can not be:
<!-- TEMPLATE ERROR: 'not' term cannot be used as operator except when preceding 'in' or 'contains' -->
<b:if cond='data:comment.isDeleted not &quot;false&quot;'>
Comments are not erased here ...
</b:if>
<!-- TEMPLATE ERROR: Extra characters at end of string: buf=[!] remainder=["false"] -->
<b:if cond='data:comment.isDeleted ! &quot;false&quot;'>
Comments are not erased here ...
</b:if>
Which can be:
<b:if cond='not data:comment.isDeleted == &quot;false&quot;'>
Comments are not erased here ...
</b:if>
<b:if cond='!data:comment.isDeleted == &quot;false&quot;'>
Comments are not erased here ...
</b:if>

Ternary Selector

Before

&lt;html class=&#39;<b:if cond='data:blog.pageType == &quot;item&quot;'>
page-item
<b:else/>
page-non-item
</b:if>&#39;&gt;

&lt;/html&gt;

After

<html expr:class='data.blog.pageType == &quot;item&quot; ? &quot;page-item&quot; : &quot;page-non-item&quot;'>

</html>
<html expr:class='&quot;page-&quot; + (data.blog.pageType == &quot;item&quot; ? &quot;&quot; : &quot;non-&quot;) + &quot;item&quot;'>

</html>

Membership

Almost the same as the operator or, just that all references must be the same comparison, values ​​are distinguished:

Before

<b:if cond='data:comment.author == &quot;Taufik Nurrohman&quot;'>
Admin comment ...
</b:if>
<b:if cond='data:comment.author == &quot;Taufik&quot;'>
Admin comment ...
</b:if>
<b:if cond='data:comment.author == &quot;Admin&quot;'>
Admin comment ...
</b:if>

After

<b:if cond='data:comment.author in {&quot;Taufik Nurrohman&quot;,&quot;Taufik&quot;,&quot;Admin&quot;}'>
Admin comment ...
</b:if>
<b:if cond='data:comment.author in [&quot;Taufik Nurrohman&quot;,&quot;Taufik&quot;,&quot;Admin&quot;]'>
Admin comment ...
</b:if>
<b:if cond='{&quot;Taufik Nurrohman&quot;,&quot;Taufik&quot;,&quot;Admin&quot;} contains data:comment.author'>
Admin comment ...
</b:if>
<b:if cond='[&quot;Taufik Nurrohman&quot;,&quot;Taufik&quot;,&quot;Admin&quot;] contains data:comment.author'>
Admin comment ...
</b:if>

Else If

Before

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<data:post.body/>
<b:else/>
<b:if cond='data:blog.pageType == &quot;static_page&quot;'>
<data:post.body/>
<b:else/>
<data:post.snippet/>
</b:if>
</b:if>

After

<b:if cond='data:blog.pageType == "item"'>
<data:post.body/>
<b:elseif cond='data:blog.pageType == &quot;static_page&quot;'>
<data:post.body/>
<b:else/>
<data:post.snippet/>
</b:if>
or…
<b:if cond='data:blog.pageType in {&quot;item&quot;,&quot;static_page&quot;}'>
<data:post.body/>
<b:else/>
<data:post.snippet/>
</b:if>

Reference:

Comments

Popular posts from this blog

Savdhaan India Ep1591 19 Apr 2016 Lust Leads To Crime

Savdhaan India Ep1591 19 Apr 2016 Lust Leads To Crime Telecast Date: 19.Apr.2016 Running Time: 00:41:51 Language: Hindi Story: Read more »

New Fifty Shades Darker poster drops

New Fifty Shades Darker poster drops The brand new poster for Fifty Shades Darker , starring Jamie Dornan and Dakota Johnson has just dropped. It comes ahead of the new New Fifty Shades Darker trailer release tomorrow.

Eagle Flight™, Werewolves Within™ and Star Trek™: Bridge Crew release dates are...

Eagle Flight™, Werewolves Within™ and Star Trek™: Bridge Crew release dates are... UBISOFT ®  ANNOUNCES RELEASE DATES FOR VIRTUAL REALITY TITLES Eagle Flight™ ,  Werewolves Within™ and   Star Trek™: Bridge Crew Coming this October, November and December SYDNEY, AUSTRALIA — August 19, 2016 —  Ubisoft ®  has announced the release dates for Virtual Reality titles  Eagle Flight ,  Werewolves Within , and Star Trek ™ : Bridge Crew . All three titles will be coming to PlayStation ® VR, Oculus Rift and HTC Vive starting this October. Eagle Flight , developed by FunHouse, a division of Ubisoft Montreal, sends players to the skies of Paris where as an eagle they will soar over the historic city and its iconic landmarks. Playable in single player and in the heart-pumping multiplayer “Capture the Prey” mode, players will feel the true sensation and exhilaration of flight.  Eagle Flight  will be released on Oculus Rift beginning October 18, PlayStation ® VR beginning November 8 and HTC Vive beginn