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

The Magnificent Seven: Film Review

The Magnificent Seven: Film Review Cast: Denzel Washington, Chris Pratt, Ethan Hawke, Vincent D'Onofrio, Manuel Garcia-Rulfo, Martin Sensmeier, Byung-hun Lee, Peter Sarsgaard Director: Antoine Fuqua Rote and without a hint of much of his own style, The Magnificent Seven somehow manages to feel like a weaker carbon copy than a redo of the 1960s classic. This time around, Denzel Washington leads the pack as Sam Chisholm, a newly sworn warrant officer. Riding into town with nary a comment but with every head turning as a black man heads down their street, Chisholm is asked by widowed Emma Cullen (a largely underused but pleasingly effective Haley Bennett) to avenge her husband's death and free their mining town from the tyrannical grip of Bartholomew Bogue (Sarsgaard). Gathering up a motley crew of multi-racial misfits (one of the more revisionist edges that Fuqua gifts the reboot), Chisholm and his man saddle up for a fight. The Magnificent Seven is nothing in comparison to the...

The X Files: Season 10 Review

The X Files: Season 10 Review Released by 20th Century Fox Home Ent The latest season of The X Files comes 15 years after the last and represents a tour de force to those involved. If you were ever touched by David Duchovny’s laconic FBI Agent Mulder and Gillian Anderson’s cooly detached FBI Agent Scully and their yin and yang partnership as they investigated all things unusual in the 90s, the 6 new episodes would practically have made you wet yourself in glee. The hook with this season was never to dwell on the fine feeling generated by the nostalgia, but to bring a new generation of fans into the fold and to see it on its way to a new lease of life. And to a degree, it manages that by saddling the delicate balance between using the show’s alien-centric mythology and stand alone eps in this 6 part outing. While the mythology eps remain a little murky and stuffed with their own self importance, (as well as an irritatingly open final ep that lands on a frustrating cliffhanger) the sta...

HITMAN Episode 4 Bangkok Release Date

HITMAN Episode 4 Bangkok Release Date HITMAN: Episode 4 Bangkok Coming August 16 th SYDNEY, 8 TH  August 2016 -  Io-Interactive today confirms that episode 4 of HITMAN will be set in Bangkok and will be arriving on August 16 th .  The "Club 27" mission transports players to the opulence and splendour of the Himmapan luxury hotel and resort, situated on the Chao Phraya River outside Bangkok.  Your targets are rising rock star Jordan Cross, front man of trending indie band The Class, and Cross’ family lawyer, Ken Morgan.  Both are currently residing at the luxury hotel as the band finishes its highly-anticipated sophomore album. Explore the grand hotel's exquisite interiors and bask in the natural beauty of the exotic gardens adorning the hotel's exterior pavilions.  Or just enjoy the vista of the Chao Phraya River as you plan how best to carry out your mission.  “Bangkok is the exotic setting for the next episode in our HITMAN season,”  said Hannes...