บทความนี้ต้องการการจัดหน้า หรือ ให้ คุณสามารถปรับปรุงแก้ไขบทความนี้ได้ และนำป้ายออก พิจารณาใช้เพื่อชี้ชัดข้อบกพร่อง |
เอกซ์เอ็มแอล (อังกฤษ: XML: Extensible Markup Language ภาษามาร์กอัปขยายได้) เป็นภาษามาร์กอัปสำหรับการใช้งานทั่วไป พัฒนาโดยW3C โดยมีจุดประสงค์เพื่อเป็น สิ่งที่เอาไว้ติดต่อกันในระบบที่มีความแตกต่างกัน (เช่นใช้คอมพิวเตอร์มี่มีระบบปฏิบัติการคนละตัว หรืออาจจะเป็นคนละโปรแกรมประยุกต์ที่มีความต้องการสื่อสารข้อมูลถึงกัน) นอกจากนี้ยังเพื่อเป็นพื้นฐานในการสร้างภาษามาร์กอัปเฉพาะทางอีกขั้นหนึ่ง XML พัฒนามาจาก โดยดัดแปลงให้มีความซับซ้อนลดน้อยลง XML ใช้ในแลกเปลี่ยนข้อมูลระหว่างเครื่องคอมพิวเตอร์ที่แตกต่างกัน และเน้นการแลกเปลี่ยนข้อมูลผ่านอินเทอร์เน็ต
Extensible Markup Language | |
คำย่อ | XML |
---|---|
สถานะ | Published, |
ปีที่เริ่ม | 1996 |
เผยแพร่ครั้งแรก | 10 กุมภาพันธ์ 1998 |
รุ่นล่าสุด | 1.1 (2nd ed.) 29 กันยายน 2006 |
องค์กร | World Wide Web Consortium (W3C) |
บรรณาธิการ | , , , Eve Maler, François Yergeau, |
มาตรฐานพื้นฐาน | |
มาตรฐานที่เกี่ยวข้อง | |
ขอบเขต | |
เว็บไซต์ | www |
XML ยังเป็นภาษาพื้นฐานให้กับภาษาอื่นๆ อีกด้วย (ยกตัวอย่างเช่น (GML) , , , MathML, (PML) , XHTML, SVG, และ ) ซึ่งอนุญาตให้โปรแกรมแก้ไขและทำงานกับเอกสารโดยไม่จำเป็นต้องมีความรู้ในภาษานั้นมาก่อน
ภาพรวม 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 ตัว คือ (DTD) , (WXS) และ
อ้างอิง
แหล่งข้อมูลอื่น
- เว็บไซต์อย่างเป็นทางการของ XML ที่ W3C
- XeML.net 2018-03-16 ที่ เวย์แบ็กแมชชีน
- การจัดรูปแบบ XML
- วิธีการสร้าง XML Sitemap
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
bthkhwamnitxngkarkarcdhna cdhmwdhmu islingkphayin hruxekbkwadenuxha ihmikhunphaphdikhun khunsamarthprbprungaekikhbthkhwamniid aelanapayxxk phicarnaichpaykhxkhwamxunephuxchichdkhxbkphrxng exksexmaexl xngkvs XML Extensible Markup Language phasamarkxpkhyayid epnphasamarkxpsahrbkarichnganthwip phthnaodyW3C odymicudprasngkhephuxepn singthiexaiwtidtxkninrabbthimikhwamaetktangkn echnichkhxmphiwetxrmimirabbptibtikarkhnlatw hruxxaccaepnkhnlaopraekrmprayuktthimikhwamtxngkarsuxsarkhxmulthungkn nxkcakniyngephuxepnphunthaninkarsrangphasamarkxpechphaathangxikkhnhnung XML phthnamacak odyddaeplngihmikhwamsbsxnldnxylng XML ichinaelkepliynkhxmulrahwangekhruxngkhxmphiwetxrthiaetktangkn aelaennkaraelkepliynkhxmulphanxinethxrentXML standard Extensible Markup LanguagekhayxXMLsthanaPublished pithierim1996 28 pithiaelw 1996 ephyaephrkhrngaerk10 kumphaphnth 1998 26 pikxn 1998 02 10 runlasud1 1 2nd ed 29 knyayn 2006 17 pikxn 2006 09 29 xngkhkrWorld Wide Web Consortium W3C brrnathikar Eve Maler Francois Yergeau matrthanphunthanmatrthanthiekiywkhxngkhxbekhtewbistwww wbr w3 wbr org wbr xml XML yngepnphasaphunthanihkbphasaxun xikdwy yktwxyangechn GML MathML PML XHTML SVG aela sungxnuyatihopraekrmaekikhaelathangankbexksarodyimcaepntxngmikhwamruinphasannmakxnphaphrwm XMLXml 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 casnicaetkhxmulthithukenndwyaethkmakkwa Well 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 formed enuxngcakexksar 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 XMLexksar XML caepnxairkidxacepn fisikhxliflin Hard Disk khxngkhunhruxepnaekhsayxkkhrainhnwykhwamcahlkinekhruxngkhxngkhunkid ephraaodyenuxaethaelwexksar XML mikhwamprasngkhthicaihexaiwtidtxsuxsarkn XML epnphasathiimmirupaebbokhrngsrangthikahndiwlwnghnaidely niepnkhxdikhxngmnephraamnthaih opraekrmprayuktidkidsamarthichnganmnidodykhxkahndthiidtklngkniwlwnghna thungaemwa XML immikhxkahndlwnghnathungokhrngsrangkhxmultangaetkmirupaebbthiepnthitklngkn dngniElementprakxbipdwy aethkepid khxmul 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 aebbnithuxwaimthuktxng aetsamarthmi element wangaebbniid lt book gt lt book gt nxkcakniyngmikhxykewnsahrbaethkwangcaepnaethkthiimtxngmiaethkpididodysamarthekhiyn lt book gt sungmikhwamhmayehmuxnkbdanbnAttributenxkcakaethkaelwyngmi singthieriykwa attribute dwyodythimirupaebbdngni lt student name example name gt lt student gt lt student name example name gt lt student gt caehnwathngsxngaebbmikhwamehmuxnknaetktangknelknxykhuxichekhruxnghmay kb sungsamarthichidthngkhukarprakas XMLswntangkhxng XML khux node node thipraktbn XML thukchbbkhux karprakas Declaration sungmilksnaehmuxnaethkaetmiekhruxnghmay xyudwy odyinexksar XML catxngmi node nithukchbb lt xml version 1 0 gt okhrngsrangkhxngexksar XMLthukkahndkhunodyladbchn 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 XMLkhwamthuktxngkhxng 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 DTD WXS aelaxangxingaehlngkhxmulxunewbistxyangepnthangkarkhxng XML thi W3C XeML net 2018 03 16 thi ewyaebkaemchchin karcdrupaebb XML withikarsrang XML Sitemap