Tuesday, December 18, 2012

Blogging - Merapikan Kode XML Dengan Mudah - XML Tidy

Struktur XML (Extensible Markup Language) memiliki tag pembuka juga tag penutup, memiliki parent (induk), dari parent ini kemudian memiliki child (anak), dari child ini memiliki child lagi, dan seterusnya. Sehingga secara tidak langsung parent yang tadi bisa menjadi grandfather, tak terkecuali uncle serta aunt, berikut daughter and son.

Berdasarkan dari cara penulisannya maka format XML ini memungkinkan untuk dibaca oleh kedua belah pihak, baik manusia maupun mesin (compiler/interpreter). Salah satu dari sekian banyak yang menggunakan XML diantaranya adalah template blogger.

Nah, apabila Anda menemukan kode XML misalnya widget yang kurang terformat rapi, dan menyebabkan ia hanya mudah dibaca oleh satu pihak saja yaitu mesin, maka ada cara yang paling mudah untuk merapikannya yaitu dengan menggunakan software editor Notepadd++. Adapun caranya adalah sebagai berikut:

  1. Copykan potongan code XML tersebut ke Notepad++
  2. Pada Notepad++ klik menu TextFX >> TextFX HTML Tidy >> Tidy: Reindent XML, seperti pada gambar di bawah ini:

Merapikan kode XML - XML Tidy dengan Notepad++
Gambar: Merapikan kode XML - XML Tidy dengan Notepad++

Dengan dirapikannya kode XML tersebut, maka struktrurnya menjadi logis, mudah untuk dibaca kedua belah pihak (manusia dan mesin), sehingga menjadi mudah untuk diedit.

Contoh XML yang belum dirapikan:

<b:includable id=breadcrumb var="posts">
<b:if cond="data:blog.homepageUrl == data:blog.url">
<b:else></b:else><b:if cond='data:blog.pageType == "item"'>
<DIV class=breadcrumbs>Browse » <A rel=tag expr:href="data:blog.homepageUrl">Beranda</A>
<b:loop var="post" values="data:posts"><b:if cond="data:post.labels">
<b:loop var="label" values="data:post.labels"><b:if cond='data:label.isLast == "true"'> »
<A rel=tag expr:href="data:label.url"><?xml:namespace prefix = data /><data:label.name></data:label.name></A>
</b:if></b:loop>» <SPAN><data:post.title></data:post.title></SPAN>
</b:if></b:loop></DIV><b:else></b:else><b:if cond='data:blog.pageType == "archive"'>
<DIV class=breadcrumbs>Browse » <A expr:href="data:blog.homepageUrl">Beranda</A> » Arsip untuk <data:blog.pageName></data:blog.pageName></DIV><b:else></b:else>
<b:if cond='data:blog.pageType == "index"'>
<DIV class=breadcrumbs>
<b:if cond='data:blog.pageName == ""'>
Browse » <A expr:href="data:blog.homepageUrl">Beranda</A> » Seluruh Artikel
<b:else></b:else>
Browse » <A expr:href="data:blog.homepageUrl">Beranda</A> » Artikel Pada Kategori <data:blog.pageName></data:blog.pageName>
</b:if></DIV></b:if></b:if></b:if></b:if></b:includable>
Contoh XML yang sudah dirapikan:
<b:includable id=breadcrumb var="posts">
<b:if cond="data:blog.homepageUrl == data:blog.url">
<b:else></b:else>
<b:if cond='data:blog.pageType == "item"'>
<DIV class=breadcrumbs>Browse »
<A rel=tag expr:href="data:blog.homepageUrl">Beranda</A>
<b:loop var="post" values="data:posts">
<b:if cond="data:post.labels">
<b:loop var="label" values="data:post.labels">
<b:if cond='data:label.isLast == "true"'>»
<A rel=tag expr:href="data:label.url">
<data:label.name></data:label.name>
</A></b:if>
</b:loop>»
<SPAN>
<data:post.title></data:post.title>
</SPAN></b:if>
</b:loop></DIV>
<b:else></b:else>
<b:if cond='data:blog.pageType == "archive"'>
<DIV class=breadcrumbs>Browse »
<A expr:href="data:blog.homepageUrl">Beranda</A>»
Arsip untuk
<data:blog.pageName></data:blog.pageName></DIV>
<b:else></b:else>
<b:if cond='data:blog.pageType == "index"'>
<DIV class=breadcrumbs>
<b:if cond='data:blog.pageName == ""'>Browse »
<A expr:href="data:blog.homepageUrl">Beranda</A>»
Seluruh Artikel
<b:else></b:else>Browse »
<A expr:href="data:blog.homepageUrl">Beranda</A>»
Artikel Pada Kategori
<data:blog.pageName></data:blog.pageName></b:if>
</DIV>
</b:if>
</b:if>
</b:if>
</b:if>
</b:includable>