Apr 17 2008

அஜாக்ஸ் முறையில் XML பெறுதல்

முந்தைய பதிவுகள்…
1. அஜாக்ஸ் அறிமுகம்
2. அஜாக்ஸ் முறையில் Plain Text பரிமாற்றம்

சென்ற பதிவில் Plain Text-ஐ எப்படி பெறுவதென்று பார்த்தோம். அதே முறையில் HTML data-வை கூட அஜாக்ஸ் முறையில் பெற்று இணையப் பக்கத்தின் ஒரு பகுதியை மட்டும் refresh செய்யலாம். இந்த இரு முறைகளிலும் நமது javascript நிரலானது வெறும் dump-ஆகத் தான் செயல்படும். Server-லிருந்து என்ன வருகிறதோ அதை அப்படியே இணையப் பக்கத்தில் காட்டும். வந்த தகவல் ஒரு error page-ஆக இருந்தால் கூட நமது நிரலால் கண்டுப்பிடிக்க முடியாது.

நமது நிரலை புதிசாலியாக்க வேண்டுமானால் XML அல்லது JSON (JavaScript Object Notation) data-வால் தான் முடியும். இந்த தகவல்களை பெறுவதும் மிகச் சுலபம். XML response வந்ததும் அதை parser கொண்டு பகுக்க வேண்டும்.

சரி, இப்போது ஒரு எடுத்துக்காட்டு பார்ப்போம். இந்த பதிவிற்காக குழந்தைகளின் பெயர் தேடலுக்கான application ஒன்றை உருவாக்கியுள்ளேன். நிறைய இணையங்கள் இந்த சேவையை வழங்குகின்றன. அந்த இணையங்களில் பெயர்களின் தொகுப்பு alphabetic order-ல் இருக்கும். ஒவ்வொருப் பக்கத்திலும் 100-க்கும் மேற்பட்ட பெயர்கள் இருபதால் அவற்றை மேய்வது சிரமமாக இருக்கும் (ஓர் உதாரணம்)

சரி, இந்த பக்கத்தில் போய் அஜாக்ஸ் முறையில் பெயர் தேடலை பாருங்கள்.
சில ஆங்கில எழுத்துக்களை இட ஆரம்பித்ததும், அவ்வெழுத்துகளில் தொடங்கும் பெயர்களை பட்டியலிட்டுக் காட்டும்.

சரி, இது எப்படி சாதியமாயிற்றென்று பார்ப்போம். முதலில் பெயர்களின் தொகுப்பை XML முறையில் தருவதற்கு ஒரு service தயார் செய்ய வேண்டும். நான் .Net-ல் ஒரு அப்பளிக்கேஷன் செய்து எனது தளத்தில் வைத்துள்ளேன். இந்த service-ன் XML output இப்படி தான் இருக்கும்.
XML output of baby names service

நமது அஜாக்ஸ் நிரல் மூலமாக இந்த service-சிடமிருந்து XML தகவலை கோருவதற்கான நிரல் இதோ இங்கே,

//My web application which returns the list of names in XML format
var service = "http://www.yemkay.com/apps/ajaxseries/ajax-2/";
//Get the letters typed by the user
var keyword = document.getElementById('keyword').value;
//Find the selected baby (boy/girl)
var selBaby = (document.getElementById('boy').checked)? "boy":"girl";
//Construct the url
var url = service + '?q=' + keyword + "&baby=" + selBaby;
//Place an AJAX request
ajax.get(url, gotSuggestions);

ajax என்னும் class-ன் நிரல் நாம் பயன்படுத்தும் library-ல் உள்ளது. (அஜாக்ஸ் Libraryஐ இங்கே தரைஇறக்கவும்). gotSuggestions என்பது ஒரு handler function. நம் கோரலுக்கான response வந்ததும் இந்த function இயங்கும். சரி இப்போது gotSuggestions function-ஐ எப்படி எழுதுவதென்று பார்ப்போம்.

var gotSuggestions=function(text, xml, http_request)
{
	if (http_request.status == 200)
	{
		//Query for all the "baby" elements in the XML
		var babies = xml.getElementsByTagName('baby');
		var index=0, result = "";
		for (index=0; index < babies.length; index++)
		{
			//Add the name and its meaning to the result buffer
			result += babies[index].getAttribute("name");
			result += " - ";
			result += babies[index].getAttribute("meaning");
			result += "<br/>";
		}
		//Show the result in the HTML page
		document.getElementById('suggestph').innerHTML = result;
	}
}

இந்த function-னுடைய “xml” எனும் parameter-ல் நமது XML output இருக்கும். அதை DOM parser மூலம் பகுத்து HTML code-ஐ தயார் செய்ய வேண்டும். அதை ஒரு HTML element-ல் காட்டி விட்டால் வேலை முடிந்தது. ஒரு வேளை நாம் அனுப்பிய எழுத்துகளுக்கு பெயர்கள் எதுவும் இல்லையென்றால் நமக்கு வரும் XML output-ல் baby element ஒன்று கூட இருக்காது. அந்த நேரத்தில் babies.length என்பது zero-வாக இருக்கும்.

இந்த நிரலானது பெயர்கள் எதுவும் இல்லாமல் போனால், “NO RESULTS” என்று காட்டும்.

if (babies==null || babies.length < 1)
{
	result += "No results";
}

முழு நிரலை இங்கே தரை இறக்கவும் (Right click, Save Target As….)


Apr 05 2008

திரையுலகின் கூலிங் கிளாஸ் அணிவகுப்பு

Tag: Entertainment, தமிழில் (in Tamil)Karthik @ 12:21 pm

நேற்று நடந்த உண்ணாவிரதம் கிட்டத்தட்ட கூலிங் கிளாஸ் பேஷன்ஷோ மாதிரி தான் இருந்தது. கண்ணாடிகளை மட்டும் வெட்டி இங்கே பதித்துள்ளேன். முடிந்தால் மூஞ்சிகளை கண்டுபிடிங்கள். (கண்ணாடிகளின் அளவை பொறுத்து ascending order-ல் அடுக்கப்பட்டுள்ளன).


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

இப்படி கண்ணாடி அணிந்து போதுகூட்டதிற்கு வருவதால் நிறைய நன்மைகள் இருக்கு - யாருக்கும் தெரியாமல் தூங்கலாம், நைசா பக்கதுல உள்ளவங்க டைப் பண்ற SMS-ஐ படிக்கலாம், கண்களில் உள்ள உணர்ச்சிகளை மறைச்சு முகத்தை சோகமா வச்சுருக்க மாதிரி காட்டலாம். நம்மாழுங்க ரொம்ப வெவெரம் உள்ளவங்க டோய்!!

நேற்று கண்ணாடி இல்லாமல் வந்த சிலர் ஸ்ரேயா, குஷ்பு, விஜய், சூர்யா மற்றும் வடிவேலு.

விடைகள்:-


விஜயகாந்த்

அஜித்

ரஜினி

விஜயகுமார்

பிரகாஷ்ராஜ்

சிம்பு

S.J.சூர்யா

சரத்குமார்

ப்ரியாமணி

கமல்

சந்த்யா

ராதாரவி

சரண்யா

திரிஷா

நயன்தாரா

நன்றி - தினமணி.com


Apr 03 2008

ஓகனேக்கல் - காந்திய வழித்தீர்வு

Tag: தமிழில் (in Tamil), SocietyKarthik @ 8:39 pm

ஓகனேக்கல் பிரச்சனையை லகே ரஹோ முன்னாபாய் ஸ்டைலில் காந்திய வழியில் அணுகினால் என்ன?

சில யோசனைகள்,

தமிழ்நாட்டு திரையரங்குகளில் கன்னட படங்களின் சிறப்பு காட்சிகள் போடுவோம். ஒரு படி மேலே போய் கன்னட படங்களுக்கு வரிவிலக்கு கொடுக்கலாம்.

தமிழ் சானல்களில் கன்னட படம் மற்றும் பாடல்களை ஒளிபரப்புவோம்.

கர்நாடாகாவிலிருந்து வரும் பேருந்துகளை தமிழக எல்லையில் வரவேற்று அதிலிருக்கும் கன்னடர்களை உபசரிப்போம்

தமிழகத்தின் ஒவ்வொரு ஊரிலும் வசிக்கும் கன்னடர்களையும் வீட்டுக்கு அழைத்து விருந்து கொடுத்து கௌரவிப்போம்.

இப்படியெல்லாம் பண்ணினால் மட்டும் வெறியர்கள் அடங்கிவிடமாடார்கள். ஆனால் வெட்கி தலை குனிவார்கள். பிற மாநிலத்தவரின் ஆதரவு நமக்கு வரும். இதை விட்டுட்டு சும்மா உரிமையை விட மாட்டோம், உண்ணாவிரதம் இருக்குறோம், பஸ்ஸை ஒடப்போம்னா பிரச்சனைக்கு தீர்வே வராது.


Apr 03 2008

ஓகனேக்கல் பிரச்சனை - யாருக்கு லாபம்?

Tag: தமிழில் (in Tamil), SocietyKarthik @ 8:14 pm

கர்நாடக BJP - வரும் சட்டமன்ற தேர்தலில் மத வெறியோடு கொஞ்சம் இனவெறி ஓட்டுகளும் விழும்

தமிழ் திரையுலகம் - கர்நாடகாவில் இருந்து வரும் தமிழ் படங்களுக்கான வருமானம். பெங்களுருவில் திரையரங்குகள் தாக்கப்பட்டால் தான் அவர்களுக்கு தமிழுணர்வு தலையெடுக்கிறது.

ஊடகங்கள் - இரண்டு வாரங்களுக்கான செய்தி. எப்படியாவது பிரச்சனை வாராதான்னு நாரதர் வேல பாக்குறாங்க.

Will rajini participate in the protest asks sarcastic media persons

பிற மாநிலத்தவருக்கு - பொழுதுபோக்கு

எனக்கு - ஒரு பதிவு

பாதிப்படைந்தவர்கள் - கர்நாடகா தமிழர்கள், தருமபுரி, கிரிஷ்ணகிரி மாவட்டத்தில் குடிநிருக்காக ஏங்கும் மக்கள், ரமேஷ் அரவிந்த், அர்ஜுன், முரளி, ஓகனேக்கல் குடிநீர் திட்டத்திற்கு காசு போட்ட ஜப்பான்காரன்




Close
E-mail It