பிப்ரவரி 10, 2012

XML ஏன்? எதற்கு?


XML, Extensible Markup Languageன் சுருக்கம்.  இது என்ன ஒரு புரோகிராமிங் மொழியா? இதனால் என்ன பயன்? இதைக் கற்பதால் பயன் உண்டா? போன்ற கேள்விகளுக்கு இப்பதிவில் விடை காண முயற்சிப்போம்.  xml தகவல்களை விவரிக்கப் பயன்படும் ஒரு மொழி. இது புரொகிராமிங் மொழி அல்ல. நாம் தரும் கட்டளைகளை இயக்குவது புரோகிராமிங் மொழி.  எடுத்துகாட்டிற்கு பத்து முறை இதை அச்சிடு (  for(i=0;i<10;i++) print(i) ), அதைப் பெருக்கு எனக் கட்டளைகள் தருவது புரொகிராமிங் மொழியின் வேலை.  இது போன்ற கட்டளைகளை இயக்கும் வேலைகளுக்காக xml உருவாக்கப் படவில்லை.  ”ந:6, விவேகானந்தர் தெரு, துபாய் மெயின் ரோடு, துபாய்” என்பது ஒரு முகவரியைக் குறிப்பதாக கீழ்க்கண்டவாறு xmlலில் குறிப்பிடலாம்.

<?xml version="1.0" encoding="UTF-8"?>
<tamilcpu-article>
 <topic pub_date="10-2-2021">XML என்றால் என்ன?</topic>
 <example>
  <address>
   <street door_no="6">விவேகானந்தர் தெரு</street>
   <city>துபாய்</city>
  </address>
 </example>
 <example>
  <dummy></dummy>
 </example>
 <example>
  <dummy2 /> <!-- xml comment -->
 </example>
</tamilcpu-article>

மேலே எடுத்தாண்டுள்ள எடுத்துக்காட்டை நன்கு கவனிக்கும் போது ஒரு உண்மை புலப்படும். for, while, system, out, main போன்ற பழக்கப்பட்ட வார்த்தைகள் இல்லாமல் என்னன்னமோ இருப்பதைக் காணலாம்.  xml குறிப்பிட்ட கட்டளை வார்த்தைகளுள் சுருங்கிவிடும் மொழி அல்ல.   xml நமக்கு ஏற்றார்போல் விரிவடையும் தன்மை கொண்டது (extensible). என்ன எழுதவேண்டும் என்பதை விட, எவ்வாறு எழுத வேண்டும் என்பதற்கு xml அதிக முக்கியத்துவம் கொடுக்கிறது.  <topic> என்றொரு tag திறந்திருந்தால் அதன் பெயரிலேயே </topic> மூட வேண்டும் (markup). எந்த வரிசையில் ஒரு tagஐ திறந்தோமோ, அந்த வரிசையிலேயே மூட வேண்டும் (structured).

xmlஐ meta language என்றழைக்கின்றனர்.  மெட்டா மொழியானது மற்றோரு மொழியை விவரிக்கும்.  தகவல்களை விவரிக்கும் (describing information) இன்னொரு மொழியை xmlயைக் கொண்டு உருவாக்கலாம்.  வெவ்வேறு பணிச்சூழலில் உள்ள மென்பொருட்கள், இணைய தளங்கள் தங்களுக்குள் தகவல்களைப் பரிமாற xml எனும் பொதுவான மொழியைப் பயன்படுத்துகிறது.  xml என்றாலே தகவல் பரிமாற்றத்திற்கான வரப் பிரசாதம் என்பதை நினைவில் கொள்க.

HTMLல் இருந்து எவ்வாறு வேறுபடுகிறது?
HTML, xml இரண்டுமே SGML என்ற meta மொழியிலிருந்து உருவானவை.  இரண்டிற்கும் ஒரே தாய்மொழி, ஆனாலும் html ஒரு தகவலை பயனருக்கு எவ்வாறு காட்ட வேண்டும் என்பதை மையமாய்க் கொண்டது.  xml ஒரு தகவலைப் (data) பற்றிய கூடுதல் தகவல் (meta information) தருகிறது.

xmlலின் பயன்பாடுகள்

  • configuration files
  • websites, webservices, search engines
  • business tools and etc.,


நம் வலைப்பூவிலேயே எங்கெல்லாம் xml பயன்படுத்தப் படுகிறதெனப் பாருங்கள்

  • முழு ப்ளாக்கையும் பேக்கப் எடுத்தால் அது ஒரு xml டாக்குமெண்ட்டாக சேமிக்கப் படும்.
  • நமது வலைப்பூவின் வடிவமைப்பு xmlலினால் ஆனது
  • மின்னஞ்சலில் தொடரும் வசதி (email subscription)
  • பிற வலைப்பூக்களின் செய்தியோடை (rss feeds)


ஜாவா, சி, சி++, சி#, ஜாவாஸ்கிரிப்ட், பேர்ல், பைத்தான், பி.எச்.பி, ரூபி போன்ற அனைத்து முன்னனி புரொகிராமிங் மொழியிலும் xmlலை சிறப்பாக கையாள முடியும்.  xmlலில் எழுத சாதாரண டெக்ஸ்ட் எடிட்டரே (notepad, vim, emacs, gedit etc.,) போதுமானது.  இவற்றில் உருவாக்கிய xmlலை பிரவுசரில் (IE, Firefox, Chrome..,) இயக்கிப் பார்க்கவும்.