உள்ளடக்கத்துக்குச் செல்

யாவாக்கிறிட்டு/யாவாக்கிறிட்டும் எக்சு.எம்.எலும்

விக்கிநூல்கள் இலிருந்து

இணைய உலாவிகள் ஊடாக எக்சு.எம்.எல் தொழில்நுட்பங்களை பயன்படுத்தக் கூடிய ஆற்றல் தொடர்ச்சியாக விரிவாகி வருகிறது. இன்று மைக்ரோசோப்டின் ஐ.ஈ மற்றும் நெருப்புநரி ஆகியவை எக்சு.எம்.எல் இற்கு நல்ல ஆதரவைத் கொண்டுள்ளன. எக்சு.எம்.எல் ஐ யாவாக்கிறிட்டின் ஊடாகப் பயன்படுத்த இவை ஏதுவாக்கின்றன. எக்சு.எம்.எல் ஐ கையாழுவதில் ஒரெ சீர்தரத்தை நோக்கி முயற்சிகள் எடுக்கப்படுனும், ஐ.ஈ க்கும் நெருப்புநரிக்கும் குறிப்பிடத்தக்க வேறுபாடுகள் உள்ளன. ஆகவே இரண்டு உலாவிகளில் இயங்க வேண்டிய செயலிகள் இந்த வேறுபாடுகளைக் கணக்கில் எடுத்துப் பயன்படுத்த வேண்டும்.

எக்சு.எம்.எல் ஆவணத்தை எச்.ரி.ரி.பி ஊடாகப் பெறுதல்

[தொகு]

எக்சு.எம்.எல் நூலில் பயன்படுத்திய தமிழ்நூல்கள்.xml என்ற எக்சு.எம்.எல் ஆவணத்தையே இங்கும் எடுத்துக்காட்டுக்குப் பயன்படுத்தலாம்.

எக்சு.எம்.எல் ஆவணத்தை எச்ரிரிபி ஊடாகப் பெறுவதற்கான செயலி

[தொகு]
function எக்சுஎம்எல்_கோப்பை_எச்ரிரிபி_ஊடாக_எடு(கோப்பு_உரலி){
	if (window.XMLHttpRequest){  // ஐ.ஈ 7+, நெருப்புநரி, குரோம், ஒப்பிரா
		xmlhttp=new XMLHttpRequest();
	}else {// ஐ.ஈ 5, 6
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp.open("GET",கோப்பு_உரலி,false);
	xmlhttp.send();
	xmlDoc=xmlhttp.responseXML; 
	return xmlDoc;
}

பெற்று மேலதிய செயலாக்கங்கள் செய்தல்

[தொகு]

கீழே உள்ள எடுத்துக்கட்டு ஐ.ஈ யில் வேலை சரியாக வேலை செய்யாது. ஏன் என்றால் ஐ.ஈ யும் மற்ற உலாவிகளும் எக்சு.எம்.எல் ஆவணத்தை ஊடு கடக்கும் (traverse) போது பயன்படுத்தப்படும் செயலிகளிலும், அணுகுமுறைகளிலும் வேறுபாடுகள் உண்டு. எ.கா ஒரு எழுத்துக் கணுவின் உள்ளடக்கத்தைப் பெற ஐ.ஈ கணு.text என்ற செயலியையும் பிற உலாவிகள் கணு.textContent என்ற செயலியையும் பயன்படுத்துகின்றன. ஐ.ஈ வெள்ளை இடங்கள், புதிய வரிகளை ஒரு கணுவாகக் கருதுவதில்லை. ஆனால் பிற உலாவிகள் அவற்றை கணுக்களாகக் கருதும்.

	var கோப்பு_உரலி = "தமிழ்நூல்கள்.xml";
	var எக்சுஎம்எல்_ஆவணம் = எக்சுஎம்எல்_கோப்பை_எச்ரிரிபி_ஊடாக_எடு(கோப்பு_உரலி);

	for (i=0; i<எக்சுஎம்எல்_ஆவணம்.childNodes[0].childNodes.length; i++){
		if (எக்சுஎம்எல்_ஆவணம்.childNodes[0].childNodes[i].nodeName == "நூல்"){
			var தலைப்பு = எக்சுஎம்எல்_ஆவணம்.childNodes[0].childNodes[i].childNodes[1].textContent;
			alert (தலைப்பு);
		}
	}

எக்சு.எம்.எல் சரத்தை டோம் இல் ஏற்றுதல்

[தொகு]
	var தமிழ்நூல்கள்_சரம் = '<?xml version="1.0" encoding="UTF-8"?>';
	தமிழ்நூல்கள்_சரம் = தமிழ்நூல்கள்_சரம் + '<நூல்கள்><நூல்><தலைப்பு>தமிழ் இலக்கிய வரலாறு</தலைப்பு></நூல்></நூல்கள்>';
	var தமிழ்நூல்கள்_டோம் = எக்சுஎம்எல்_சரத்தை_டோமில்_ஏற்று(தமிழ்நூல்கள்_சரம்);
        var முதல்_கணு = தமிழ்நூல்கள்_டோம்.firstChild.nodeName;	
	alert (முதல்_கணு);


function எக்சுஎம்எல்_சரத்தை_டோமில்_ஏற்று(தமிழ்நூல்கள்_சரம்){
	var எக்சுஎம்எல்_டோம் = false;
	if (window.DOMParser){
		var கூற்றாக்கி = new DOMParser();
		எக்சுஎம்எல்_டோம் = கூற்றாக்கி.parseFromString(தமிழ்நூல்கள்_சரம்,"text/xml");
	} else {
		எக்சுஎம்எல்_டோம் = new ActiveXObject("Microsoft.XMLDOM");
		எக்சுஎம்எல்_டோம்.async=false;
		எக்சுஎம்எல்_டோம்.loadXML(தமிழ்நூல்கள்_சரம்);
	}
	return எக்சுஎம்எல்_டோம்;
}