fbpx
วิกิพีเดีย

เอกซ์เอ็มแอล

เอกซ์เอ็มแอล (อังกฤษ: XML: Extensible Markup Language ภาษามาร์กอัปขยายได้) เป็นภาษามาร์กอัปสำหรับการใช้งานทั่วไป พัฒนาโดยW3C โดยมีจุดประสงค์เพื่อเป็น สิ่งที่เอาไว้ติดต่อกันในระบบที่มีความแตกต่างกัน (เช่นใช้คอมพิวเตอร์มี่มีระบบปฏิบัติการคนละตัว หรืออาจจะเป็นคนละโปรแกรมประยุกต์ที่มีความต้องการสื่อสารข้อมูลถึงกัน) นอกจากนี้ยังเพื่อเป็นพื้นฐานในการสร้างภาษามาร์กอัปเฉพาะทางอีกขั้นหนึ่ง XML พัฒนามาจาก SGML โดยดัดแปลงให้มีความซับซ้อนลดน้อยลง XML ใช้ในแลกเปลี่ยนข้อมูลระหว่างเครื่องคอมพิวเตอร์ที่แตกต่างกัน และเน้นการแลกเปลี่ยนข้อมูลผ่านอินเทอร์เน็ต

XML ยังเป็นภาษาพื้นฐานให้กับภาษาอื่นๆ อีกด้วย (ยกตัวอย่างเช่น Geography Markup Language (GML) , RDF/XML, RSS, MathML, Physical Markup Language (PML) , XHTML, SVG, MusicXML และ cXML) ซึ่งอนุญาตให้โปรแกรมแก้ไขและทำงานกับเอกสารโดยไม่จำเป็นต้องมีความรู้ในภาษานั้นมาก่อน

ภาพรวม XML

Xml เป็นภาษาที่ใช้เน้น (มาร์กอัป) ส่วนที่เป็นข้อมูล โดยสามารถกำหนดชื่อแท็ก (Element) และชื่อแอตทิบิวต์ ได้ตามความต้องการของผู้สร้างเอกสาร xml โดยเอกสารนั้นจะต้องมีความเป็น Well-formed ส่วน DTD และ Schema จะมีหรือไม่มีก็ได้ ขึ้นอยู่กับว่ามีผู้ใช้เอกสารนั้นมากน้อยแค่ไหน เอกสาร xml จึงเป็นแค่เท็กซ์ไฟล์ชนิดหนึ่ง ที่มีแท็กเปิดและเท็กปิดครอบข้อมูลไว้ตรงกลางเท่านั้น ทำให้เอกสาร xml ถูกใช้ในการติดต่อกับระบบที่ต่างกัน เนื่องจากความง่ายในการสร้างเอกสาร การนำเอกสาร xml ไปใช้งาน จะสนใจแต่ข้อมูลที่ถูกเน้นด้วยแท็กมากกว่า

Well-formed เป็นไวยากรณ์พื้นฐานของเอกสาร xml อย่างเช่น เอกสาร xml ต้องเริ่มต้นด้วย <?xml version="1.0" ?> เอกสาร xml 1 เอกสาร จะต้องมีแท็กรูทเพียงแท็กเดียว หมายความว่า แท็กและข้อมูลต่างๆ จะต้องอยู่ภายในแท็กแรกสุดเพียงแท็กเดียว การเปิดและปิดแท็กจะต้องไม่มีการคร่อมกัน เช่น <b>ตัวหนา<i>และ</b>เอียง</i> จะไม่ Well-formed

เนื่องจากเอกสาร xml สามารถกำหนดชื่อแท็ก และชื่อแอตทิบิวต์ได้ตามความต้องการของผู้สร้างเอกสาร ทำให้ในการเน้นข้อมูลใดข้อมูลหนึ่ง สามารถมีเอกสาร xml หลายรูปแบบ (ผู้เขียนอาจใช้ชื่อแท็กต่างกัน ทั้งที่สื่อความหมายไปที่สิ่งเดียวกัน) หากว่าเอกสาร xml นั้น ถูกนำไปใช้ติดต่อกับระบบอื่นๆ อาจทำให้สื่อความหมายไม่ตรงกัน ดังนั้นจึงต้องมีการกำหนดรูปแบบที่เป็นมาตรฐานขึ้น (ตกลงรูปแบบระหว่างกัน) โดย DTD และ Schema จะเป็นตัวกำหนดว่าเอกสาร xml นั้น จะต้องมีแท็กอะไรบ้าง ภายในแท็กนั้นจะมีแท็ก แอตทิบิวต์ หรือข้อมูลอะไรได้บ้าง โดย DTD จะต่างกับ Schema ตรงที่ Schema เป็นเอกสาร xml ด้วย

เอกสาร XML

เอกสาร XML จะเป็นอะไรก็ได้อาจเป็น ฟิสิคอลไฟล์ใน Hard Disk ของคุณหรือเป็นแค่สายอักขระในหน่วยความจำหลักในเครื่องของคุณก็ได้ เพราะโดยเนื้อแท้แล้วเอกสาร XML มีความประสงค์ที่จะให้เอาไว้ติดต่อสื่อสารกัน

XML เป็นภาษาที่ไม่มีรูปแบบโครงสร้างที่กำหนดไว้ล่วงหน้าใดๆเลย นี้เป็นข้อดีของมันเพราะมันทำให้ โปรแกรมประยุกต์ใดๆก็ได้สามารถใช้งานมันได้โดยข้อกำหนดที่ได้ตกลงกันไว้ล่วงหน้า ถึงแม้ว่า XML ไม่มีข้อกำหนดล่วงหน้าถึงโครงสร้างข้อมูลต่างๆแต่ก็มีรูปแบบที่เป็นที่ตกลงกัน ดังนี้

Element

ประกอบไปด้วย แท็กเปิด ข้อมูล และแท็กปิด ยกตัวอย่างเช่น

<student> Example_sudent </student> 

ในที่นี้ <student> คือแท็กเปิด Example_sudent คือข้อมูล และ </student> คือแท็กปิด โดยแท็กปิดนั้นจะต้องมีชื่อเหมือนแท็กเปิดของมันแต่ตามหลังจากเครื่องหมาย '/' จะสังเกตได้ว่า XML นั้นคล้ายกับ HTML เป็นอย่างมากสำหรับข้อแตกต่างที่ชัดเจนคือ HTML ได้กำหนดแท็กไว้ล่วงหน้าแล้วแต่ XML ไม่ว่าใครๆก็สามารถกำหนดแท็กของเราเองได้ XML นั้นไม่ใช่ภาษาโดยสมบูรณ์มันเป็นมาตรฐานข้อมูลมากกว่า โดยตัวโปรแกรมประยุกต์จะเป็นผู้กำหนดรูปแบบของตัวเองขึ้นและจะสามารถใช้ได้กับโครงสร้างข้อมูลที่ถูกอนุญาต (เพราะว่ามีรูปแบบของข้อมูลที่เข้ากันได้) XML นั้นเป็นภาษาที่ case sensitive ดังนั้นการที่เราเขียนว่า <student> กับ <Student> จึงถือว่าเป็นคนละแท็กกัน นอกจากนี้แล้ว element ใน XML สามารถบรรจุอยู่ใน element อื่นๆได้ยกตัวอย่างเช่น

<student> <name>example name</name> <id>123456789</id> </student> 

จะเห็นว่า element <name> บรรจุอยู่ภายใน element <student> element ไม่สามารถคร่อมกันได้ เช่น

<student> <name>example name <id></name>123456789</id> </student> 

แบบนี้ถือว่าไม่ถูกต้อง

แต่สามารถมี element ว่างแบบนี้ได้

<book></book> 

นอกจากนี้ยังมีข้อยกเว้นสำหรับแท็กว่างจะเป็นแท็กที่ไม่ต้องมีแท็กปิดได้โดยสามารถเขียน

<book /> 

ซึ่งมีความหมายเหมือนกับด้านบน

Attribute

นอกจากแท็กแล้วยังมี สิ่งที่เรียกว่า attribute ด้วยโดยที่มีรูปแบบดังนี้

<student name="example_name"></student> <student name='example_name'></student> 

จะเห็นว่าทั้งสองแบบมีความเหมือนกันแตกต่างกันเล็กน้อยคือใช้เครื่องหมาย " กับ ' ซึ่งสามารถใช้ได้ทั้งคู่

การประกาศ XML

ส่วนต่างๆของ XML คือ node

node ที่ปรากฏบน XML ทุกฉบับคือ การประกาศ Declaration ซึ่งมีลักษณะเหมือนแท็กแต่มีเครื่องหมาย ? อยู่ด้วย โดยในเอกสาร XML จะต้องมี node นี้ทุกฉบับ

<?xml version="1.0" ?> 

โครงสร้างของเอกสาร XML

ถูกกำหนดขึ้นโดยลำดับชั้น โดยเอกสารใดๆนั้นต้องมี root element หนึ่งตัวเสมอ เช่นในที่นี้คือ <student>

<?xml version="1.0" ?> <student> <name>example name</name> <id>123456789</id> </student> 

การตรวจสอบความถูกต้องของ XML

ความถูกต้องของ XML แบ่งเป็น 2 ระดับ

  • Well-formed เอกสารที่ well-formed คือใช้ syntax ของ XML ถูกต้องตามมาตรฐานทุกอย่าง มีการเปิด-ปิดแท็กที่สมบูรณ์ แต่ไม่จำเป็นต้องจัดรูปแบบให้สวยงาม เอกสารที่ไม่ well-formed ถือว่าไม่เป็น XML
  • Valid นอกจาก well-formed แล้ว เอกสารที่ valid ยังต้องใช้แท็ก XML ที่กำหนดเฉพาะใน schema ที่ตกลงกันไว้เท่านั้น ปัจจุบันมี schema ที่นิยม 3 ตัว คือ Document Type Definition (DTD) , XML Schema (W3C) (WXS) และ RELAX NG

อ้างอิง

  1. format:QF client_id:s40Maps3.0 voice_mode:no_voice quota:27983137997 :cities\ voicefiles: cachedats:cities language ,ID:33 client_version:1.4.7.0 :e:\cities

แหล่งข้อมูลอื่น

  • เว็บไซต์อย่างเป็นทางการของ XML ที่ W3C
  • XeML.net
  • การจัดรูปแบบ XML
  • วิธีการสร้าง XML Sitemap

เอกซ, เอ, มแอล, บทความน, องการการจ, ดหน, ดหมวดหม, ใส, งก, ภายใน, หร, อเก, บกวาดเน, อหา, ให, ณภาพด, ณสามารถปร, บปร, งแก, ไขบทความน, ได, และนำป, ายออก, จารณาใช, ายข, อความอ, นเพ, อช, ดข, อบกพร, อง, งกฤษ, extensible, markup, language, ภาษามาร, กอ, ปขยายได, เป, นภ. bthkhwamnitxngkarkarcdhna cdhmwdhmu islingkphayin hruxekbkwadenuxha ihmikhunphaphdikhun khunsamarthprbprungaekikhbthkhwamniid aelanapayxxk phicarnaichpaykhxkhwamxunephuxchichdkhxbkphrxngexksexmaexl xngkvs XML Extensible Markup Language phasamarkxpkhyayid epnphasamarkxpsahrbkarichnganthwip phthnaodyW3C odymicudprasngkhephuxepn singthiexaiwtidtxkninrabbthimikhwamaetktangkn echnichkhxmphiwetxrmimirabbptibtikarkhnlatw hruxxaccaepnkhnlaopraekrmprayuktthimikhwamtxngkarsuxsarkhxmulthungkn nxkcakniyngephuxepnphunthaninkarsrangphasamarkxpechphaathangxikkhnhnung XML phthnamacak SGML odyddaeplngihmikhwamsbsxnldnxylng XML ichinaelkepliynkhxmulrahwangekhruxngkhxmphiwetxrthiaetktangkn aelaennkaraelkepliynkhxmulphanxinethxrentXML yngepnphasaphunthanihkbphasaxun xikdwy yktwxyangechn Geography Markup Language GML RDF XML RSS MathML Physical Markup Language PML XHTML SVG MusicXML aela cXML sungxnuyatihopraekrmaekikhaelathangankbexksarodyimcaepntxngmikhwamruinphasannmakxn enuxha 1 phaphrwm XML 2 exksar XML 3 Element 4 Attribute 5 karprakas XML 6 okhrngsrangkhxngexksar XML 7 kartrwcsxbkhwamthuktxngkhxng XML 8 xangxing 9 aehlngkhxmulxunphaphrwm XML aekikhXml epnphasathiichenn markxp swnthiepnkhxmul odysamarthkahndchuxaethk Element aelachuxaextthibiwt idtamkhwamtxngkarkhxngphusrangexksar xml odyexksarnncatxngmikhwamepn Well formed swn DTD aela Schema camihruximmikid khunxyukbwamiphuichexksarnnmaknxyaekhihn exksar xml cungepnaekhethksiflchnidhnung thimiaethkepidaelaethkpidkhrxbkhxmuliwtrngklangethann thaihexksar xml thukichinkartidtxkbrabbthitangkn enuxngcakkhwamngayinkarsrangexksar karnaexksar xml ipichngan casnicaetkhxmulthithukenndwyaethkmakkwaWell formed epniwyakrnphunthankhxngexksar xml xyangechn exksar xml txngerimtndwy lt xml version 1 0 gt exksar xml 1 exksar catxngmiaethkruthephiyngaethkediyw hmaykhwamwa aethkaelakhxmultang catxngxyuphayinaethkaerksudephiyngaethkediyw karepidaelapidaethkcatxngimmikarkhrxmkn echn lt b gt twhna lt i gt aela lt b gt exiyng lt i gt caim Well formedenuxngcakexksar xml samarthkahndchuxaethk aelachuxaextthibiwtidtamkhwamtxngkarkhxngphusrangexksar thaihinkarennkhxmulidkhxmulhnung samarthmiexksar xml hlayrupaebb phuekhiynxacichchuxaethktangkn thngthisuxkhwamhmayipthisingediywkn hakwaexksar xml nn thuknaipichtidtxkbrabbxun xacthaihsuxkhwamhmayimtrngkn dngnncungtxngmikarkahndrupaebbthiepnmatrthankhun tklngrupaebbrahwangkn ody DTD aela Schema caepntwkahndwaexksar xml nn catxngmiaethkxairbang phayinaethknncamiaethk aextthibiwt hruxkhxmulxairidbang ody DTD catangkb Schema trngthi Schema epnexksar xml dwyexksar XML aekikhexksar XML caepnxairkidxacepn fisikhxliflin Hard Disk khxngkhunhruxepnaekhsayxkkhrainhnwykhwamcahlkinekhruxngkhxngkhunkid ephraaodyenuxaethaelwexksar XML mikhwamprasngkhthicaihexaiwtidtxsuxsarknXML epnphasathiimmirupaebbokhrngsrangthikahndiwlwnghnaidely niepnkhxdikhxngmnephraamnthaih opraekrmprayuktidkidsamarthichnganmnidodykhxkahndthiidtklngkniwlwnghna thungaemwa XML immikhxkahndlwnghnathungokhrngsrangkhxmultangaetkmirupaebbthiepnthitklngkn dngniElement aekikhprakxbipdwy aethkepid khxmul 1 aelaaethkpid yktwxyangechn lt student gt Example sudent lt student gt inthini lt student gt khuxaethkepid Example sudent khuxkhxmul aela lt student gt khuxaethkpid odyaethkpidnncatxngmichuxehmuxnaethkepidkhxngmnaettamhlngcakekhruxnghmay casngektidwa XML nnkhlaykb HTML epnxyangmaksahrbkhxaetktangthichdecnkhux HTML idkahndaethkiwlwnghnaaelwaet XML imwaikhrksamarthkahndaethkkhxngeraexngid XML nnimichphasaodysmburnmnepnmatrthankhxmulmakkwa odytwopraekrmprayuktcaepnphukahndrupaebbkhxngtwexngkhunaelacasamarthichidkbokhrngsrangkhxmulthithukxnuyat ephraawamirupaebbkhxngkhxmulthiekhaknid XML nnepnphasathi case sensitive dngnnkarthieraekhiynwa lt student gt kb lt Student gt cungthuxwaepnkhnlaaethkkn nxkcakniaelw element in XML samarthbrrcuxyuin element xunidyktwxyangechn lt student gt lt name gt example name lt name gt lt id gt 123456789 lt id gt lt student gt caehnwa element lt name gt brrcuxyuphayin element lt student gt element imsamarthkhrxmknid echn lt student gt lt name gt example name lt id gt lt name gt 123456789 lt id gt lt student gt aebbnithuxwaimthuktxngaetsamarthmi element wangaebbniid lt book gt lt book gt nxkcakniyngmikhxykewnsahrbaethkwangcaepnaethkthiimtxngmiaethkpididodysamarthekhiyn lt book gt sungmikhwamhmayehmuxnkbdanbnAttribute aekikhnxkcakaethkaelwyngmi singthieriykwa attribute dwyodythimirupaebbdngni lt student name example name gt lt student gt lt student name example name gt lt student gt caehnwathngsxngaebbmikhwamehmuxnknaetktangknelknxykhuxichekhruxnghmay kb sungsamarthichidthngkhukarprakas XML aekikhswntangkhxng XML khux nodenode thipraktbn XML thukchbbkhux karprakas Declaration sungmilksnaehmuxnaethkaetmiekhruxnghmay xyudwy odyinexksar XML catxngmi node nithukchbb lt xml version 1 0 gt okhrngsrangkhxngexksar XML aekikhthukkahndkhunodyladbchn odyexksaridnntxngmi root element hnungtwesmx echninthinikhux lt student gt lt xml version 1 0 gt lt student gt lt name gt example name lt name gt lt id gt 123456789 lt id gt lt student gt kartrwcsxbkhwamthuktxngkhxng XML aekikhkhwamthuktxngkhxng XML aebngepn 2 radb Well formed exksarthi well formed khuxich syntax khxng XML thuktxngtammatrthanthukxyang mikarepid pidaethkthismburn aetimcaepntxngcdrupaebbihswyngam exksarthiim well formed thuxwaimepn XML Valid nxkcak well formed aelw exksarthi valid yngtxngichaethk XML thikahndechphaain schema thitklngkniwethann pccubnmi schema thiniym 3 tw khux Document Type Definition DTD XML Schema W3C WXS aela RELAX NGxangxing aekikh format QF client id s40Maps3 0 voice mode no voice quota 27983137997 cities voicefiles cachedats cities language ID 33 client version 1 4 7 0 e citiesaehlngkhxmulxun aekikhewbistxyangepnthangkarkhxng XML thi W3C XeML net karcdrupaebb XML withikarsrang XML Sitemapekhathungcak https th wikipedia org w index php title exksexmaexl amp oldid 9182309, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม