2008 13 Agustus 2008

Tokenizing String Delimited dalam sebuah XSL

Jika kebutuhan Anda adalah untuk membagi nilai node dalam XML, yang berisi string dipisahkan nilai, ke setiap item, maka Anda telah mencapai tempat yang tepat ... kita lihat contoh di bawah ini. Jika Anda sudah familiar dengan sedikit XML dan XSL ... Saya tidak berpikir Anda akan perlu penjelasan apapun.
Juga, contoh ini meliputi penggunaan fungsi XSL seperti xsl: call-template, xsl: substring-sebelumnya, xsl: substring-setelah, kalau itu yang Anda setelah.

XML untuk diubah (food.xml): -
Asumsikan tugas ini adalah untuk tokenize yang dibatasi string dengan koma, pada "kata kunci" tag

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<date>July 2008</date>
<description>All about things we eat everyday</description>
<keywords>Fruits, Vegetables, Pulses, Meat, Cereals </keywords>
</food>

XSL (food.xsl): -

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>XSL 1.0 Delimited String Tokeniser</title>
</head>
<body>
<xsl:value-of select="food/meta"/>
<div >
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="food/keywords" />
<xsl:with-param name="delimitr" select="','" />
</xsl:call-template>

</div>
</body>
</html>
</xsl:template>
<xsl:template name="tokenize">
<xsl:param name="string" />
<xsl:param name="delimitr" />
<xsl:choose>
<xsl:when test="contains($string, $delimitr)">
<div style="border:1px solid red;">
<h3><xsl:value-of select="substring-before($string,$delimitr)" /></h3>
<xsl:variable name="data" select="substring-before($string,$delimitr)"/>
</div>
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="substring-after($string, $delimitr)" /><xsl:with-param name="delimitr" select="$delimitr" /></xsl:call-template>
</xsl:when>
<xsl:otherwise>
<div style="border:1px solid red;">
<h3><xsl:value-of select="$string" /></h3>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

Resultan output HTML: -

<div>
<div style="border: 1px solid red;">
<h3>Fruits</h3>
</div>
<div style="border: 1px solid red;">
<h3> Vegetables</h3>
</div>
<div style="border: 1px solid red;">
<h3> Pulses</h3>
</div>
<div style="border: 1px solid red;">
<h3> Meat</h3>
</div>
<div style="border: 1px solid red;">
<h3> Cereals </h3>
</div>
</div>

Tak perlu dikatakan ... hanya mengubah parameter "delimitr" untuk pembatas pilihan Anda


2008 11 Agustus 2008

Download This Template Diposisikan Faux Wordpress

Jika Anda salah satu dari orang-orang (seperti saya), yang sering memeriksa CSS dari halaman HTML dibuat dengan baik, untuk mendapatkan inspirasi atau apa pun, maka Anda mungkin telah memperhatikan bahwa kita telah menggunakan Positioning palsu (sebagaimana telah disebutkan dalam artikel saya sebelumnya Kami menggunakan Positioning Absolute Faux: Sebuah Tata Letak CCS Brilliant )

Kami memang beberapa pekerjaan yang baik pada template ini, jadi pikir ini akan bagus untuk berbagi .... Download This WordPress Theme (didownload 197 kali)


2008 7 Agustus 2008

Animoto: Really Nice "User Interface Kaya" tanpa Flash!

Pernahkah Anda melihat animoto.com? Nah! ini bukan AD, saya benar-benar menyukainya! dan ini Cium UI ASS memang

Saya datang di situs ini beberapa minggu lalu. Melihat halaman pertama, berkat mengganggu banyak. Bagi saya, itu hanya situs lain dengan beberapa konten flash kaya, yang memungkinkan pengguna untuk meng-upload gambar, memilih lagu tertentu dan mengubahnya menjadi slideshow gambar yang bagus. Men-download FLV, dan meletakkannya di situs pilihan Anda (YouTube, MetaCafe, Facebook dan sejenisnya) ... PERIODE.

Kemarin ketika saya melihat halaman aliran internal, yang mengambil pengguna melalui penciptaan tayangan slide ini .... Aku pergi OH WOW! Ketika saya menyadari bahwa tidak sedikit FLASH digunakan. Memang User Interface Rich. Semua pengembang UI harus bercita-cita untuk membuat atau setidaknya menjadi bagian dari tim yang telah melakukan interface ini .... Benar-benar brilian! Dan Inspiratif!

MEMILIKI LIHAT ... http://animoto.com/ ... dan mendaftar dan bermain dengan itu ... hanya kemudian Anda dapat menghargai jenius.


2008 4 Agustus 2008

Sebuah masalah dengan posisi () dalam XSL ... atau itu?

Aku punya masalah strage saat membuat XSL hari ini. Mencari jawaban seluruh internet, tapi tak bisa menemukan .... Sebenarnya saya kira! Saya berkat tahu apa masalah saya, jadi apa yang saya cari?

Anyway! Hanya jika anda memiliki masalah yang sama juga dan entah bagaimana dengan kekuatan FORCE Anda berhasil mendarat di halaman ini ... Anda akan berterima kasih padaku ton ... Dan jika Anda telah sengaja mendarat di halaman ini untuk beberapa nasib aneh dan Anda berada pengembang XSL, DO MEMBUAT CATATAN INI SEKARANG, UNTUK MASA DEPAN penyebab, Jika suatu hari, Anda menghadapi masalah ini, maka FORCE mungkin tidak dengan Anda.

Soal pernyataan:
Aku punya XML, di mana ada dua node dengan beberapa item di dalamnya dan barang antara dua node memiliki korespondensi satu ke satu. Pada contoh di bawah, masing-masing item dalam <array simpul name="PLAYURL" /> berhubungan (posisi yang sesuai) untuk item dalam <array simpul name="SITENAME" />

<?xml version="1.0" encoding="utf-8"?>
<myplaylists>
<playlist>
<title>Best of Rest </title>
<array name="SITENAME">
<str>www.musicindiaonline.com</str>
<str>www.dhingana.com</str>
<str>www.raaga.com</str>
<str>www.smashits.com</str>
<str>www.desimusic.com</str>
<str>www.musicplug.in</str>
</array>
<array name="PLAYURL">
<str>http://www.musicindiaonline.com/123/</str>
<str>http://www.dhingana.com/play/123</str>
<str>http://www.raaga.com/123</str>
<str>http://ww.smashits.com/123</str>
<str>http://www.desimusic.com/123</str>
<str>http://www.musicplug.in/123</str>
</array>
</playlist>
</myplaylists>

Sekarang, saya memiliki satu lingkaran, di mana saya loop melalui <array name="SITENAME">, dan saya ingin mendapatkan item terkait (pada posisi yang sesuai) dalam <array name="PLAYURL">,

Apa yang Anda normaly akan mencoba lakukan adalah ...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
play from : <a href="{../../array[@name='PLAY']/str[position()]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

MAAF! INI BEKERJA wont ... Ah! Surpised ...

Sekarang Anda mungkin akan ingin mencoba, hal seperti ini ...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos"> <xsl:value-of select="position()"/></xsl:variable>
play from : <a href="{../../array[@name='PLAY']/str[$pos]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

Dan lagi ini tidak akan bekerja ... Sekarang Anda garuk-garuk kepala, mencoba untuk menghubungi semua orang yang Anda berpikir tahu beberapa XSL dan bisa membantu apapun ... Anda mencoba setiap pilihan lain ... dan masih wont work ... Nah! Thats apa yang terjadi pada saya minimal ...

DONT putus asa! TRY INI

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$ pos-int ]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

Dont ASK ME WHY IT WORKS. Penyebab i dont memiliki alasan yang tepat ... jika Anda lakukan! Jangan menjatuhkan komentar. Mungkin cukup berguna. Juga! jika Anda memiliki JUDUL yang lebih baik untuk posting ini, melakukan drop me a line :)


2008 2 Agustus 2008

Mengatur DOCTYPE dalam XSL

Minggu lalu saya membuat sebuah tata letak HTML / CSS progessive untuk klien, diuji di IE6, IE7 dan FF 3, tampak baik-baik saja ... SAMPAI! tata letak pergi lebih bawah siklus manufacting. Gagal. Halaman elemen tata letak hanya pergi di seluruh tempat ketika tata letak HTML diubah menjadi XSL dan XML diterapkan untuk itu ... Nyebelin!

Tidak bisa tidur ok selama akhir pekan, untuk mengantisipasi Senin pagi, ketika aku harus memperbaikinya SH **. Tapi sekarang memiliki pengalam sedikit dalam menangani ini dengan jenis situasi (quirks Browser, maksud saya), saya tahu itu ada hubungannya dengan hal lain kecuali DOCTYPE .... dan It WAS ...

Masalah:
Anda ingin kontrol atas DOCTYPE, karena transformasi Anda akan menyertakan DOCTYPE standar secara eksplisit, dan Anda tata letak akan keluar untuk melemparkan.

Solusi:
XSLT spesifikasi menyediakan metode output untuk menetapkan DOCTYPE dari choise. Juga, bagi kita UI pengembang, topik yang menarik akan menjadi metode output HTML dan metode output XML .

Nah! sebelum Anda mendapatkan bosan, di sini adalah memperbaiki.

Untuk misalnya, jika Anda memiliki DOCTYPE berikut dalam versi HTML Anda:. -

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Kemudian pada XSL Anda harus memiliki berikut ini: -

<xsl:output method="html" doctype-system="http://www.w3.org/TR/html4/loose.dtd" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" indent="yes" />

dan Akhirnya! pastikan Anda keluaran XSLT mematuhi DOCTYPE Anda pilih.


NDK rumah | Mengekspresikan TI | Langit-langit Mulut Mengekspresikan | Penmenship Mengekspresikan | Awe Mengekspresikan | Mengekspresikan Diriku