ภาษามาร์กอัป xml คลังเก็บหมวดหมู่: หนังสือเกี่ยวกับ XML

เราทำการศึกษา XML ต่อไปอีกครั้ง และในบทความนี้ เราจะทำความคุ้นเคยกับโครงสร้าง XML เช่น คำแนะนำในการประมวลผล ความคิดเห็น คุณลักษณะ และองค์ประกอบ XML อื่นๆ องค์ประกอบเหล่านี้เป็นองค์ประกอบพื้นฐานและช่วยให้คุณสามารถทำเครื่องหมายเอกสารที่ซับซ้อนใดๆ ได้อย่างยืดหยุ่นตามมาตรฐานอย่างเคร่งครัด

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

องค์ประกอบ XML องค์ประกอบ XML ที่ว่างเปล่าและไม่ว่างเปล่า

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

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

องค์ประกอบ XML ว่างเปล่า

องค์ประกอบ XML ที่ไม่ว่างเปล่า

เนื้อหาองค์ประกอบ...

ดังที่เราเห็นจากตัวอย่างด้านบน ข้อแตกต่างหลักระหว่างองค์ประกอบว่างและองค์ประกอบที่ไม่ว่างเปล่าคือองค์ประกอบเหล่านั้นประกอบด้วยแท็กเดียวเท่านั้น นอกจากนี้ยังเป็นที่น่าสังเกตว่าใน XML ชื่อทั้งหมดคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ซึ่งหมายความว่าชื่อ myElement, MyElement, MYELEMENT เป็นต้น ต่างจากกันจึงควรจำช่วงเวลานี้ไว้ทันทีเพื่อหลีกเลี่ยงความผิดพลาดในอนาคต
ดังนั้นเราจึงหาองค์ประกอบต่างๆ ได้ ตอนนี้เรามาดูจุดต่อไปกัน ซึ่งก็คือการจัดระเบียบเอกสาร XML แบบลอจิคัล

การจัดระเบียบเชิงตรรกะของเอกสาร XML โครงสร้างแผนภูมิข้อมูล XML

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

เพื่อให้ง่ายต่อการเข้าใจข้างต้น ลองดูภาพต่อไปนี้พร้อมตัวอย่าง

ดังที่เราเห็น การจัดระเบียบเอกสาร XML ในรูปแบบต้นไม้เป็นโครงสร้างที่ค่อนข้างง่ายในการประมวลผล ในขณะเดียวกันความซับซ้อนในการแสดงออกของต้นไม้เองก็ค่อนข้างดี การแสดงแผนภูมิเป็นวิธีที่เหมาะสมที่สุดในการอธิบายวัตถุในรูปแบบ XML

แอตทริบิวต์ XML กฎสำหรับการเขียนแอตทริบิวต์ในรูปแบบ XML

ใน XML องค์ประกอบยังสามารถมีแอตทริบิวต์ที่มีค่าที่กำหนดให้กับองค์ประกอบเหล่านั้นซึ่งอยู่ในเครื่องหมายคำพูดเดี่ยวหรือคู่ คุณลักษณะสำหรับองค์ประกอบถูกตั้งค่าดังนี้:

ในกรณีนี้ มีการใช้แอตทริบิวต์ชื่อ "แอตทริบิวต์" และค่า "ค่า" เป็นที่น่าสังเกตทันทีว่าแอตทริบิวต์ XML จะต้องมีค่าบางส่วนและต้องไม่ว่างเปล่า มิฉะนั้น รหัสจะไม่ถูกต้องจากมุมมองของ XML

นอกจากนี้ยังควรให้ความสนใจกับการใช้เครื่องหมายคำพูดด้วย ค่าแอตทริบิวต์สามารถอยู่ในเครื่องหมายคำพูดเดี่ยวหรือคู่ก็ได้ นอกจากนี้ยังสามารถใช้เครื่องหมายคำพูดภายในเครื่องหมายคำพูดอื่นๆ ได้ เพื่อสาธิต ให้พิจารณาตัวอย่างต่อไปนี้

ก่อนที่เราจะดูโครงสร้าง XML อื่นๆ ควรสังเกตว่าเมื่อสร้างแอตทริบิวต์ อักขระพิเศษ เช่น เครื่องหมายและ "&" ​​หรือวงเล็บมุม " จะไม่สามารถใช้เป็นค่าได้<>- อักขระเหล่านี้สงวนไว้เป็นอักขระควบคุม (“&” เป็นเอนทิตี และ “<» и «>» เปิดและปิดแท็กองค์ประกอบ) และไม่สามารถใช้ใน "รูปแบบบริสุทธิ์" ได้ หากต้องการใช้งานคุณต้องหันไปใช้การแทนที่อักขระพิเศษ

คำแนะนำในการประมวลผล XML (คำแนะนำในการประมวลผล) การประกาศ XML

XML มีความสามารถในการรวมคำแนะนำในเอกสารที่นำข้อมูลเฉพาะสำหรับแอปพลิเคชันที่จะประมวลผลเอกสารเฉพาะ คำแนะนำการประมวลผลใน XML ถูกสร้างขึ้นดังนี้

ดังที่คุณเห็นจากตัวอย่างด้านบน ใน XML คำแนะนำในการประมวลผลจะอยู่ในเครื่องหมายคำพูดมุมพร้อมเครื่องหมายคำถาม นี่เป็นเหมือนบทเรียนปกติที่เราดูในบทเรียน PHP แรกๆ ส่วนแรกของคำสั่งการประมวลผลจะระบุแอปพลิเคชันหรือระบบที่ส่วนที่สองของคำสั่งนี้หรือเนื้อหามีจุดมุ่งหมาย อย่างไรก็ตาม คำแนะนำในการประมวลผลจะใช้ได้เฉพาะกับแอปพลิเคชันที่ได้รับการจัดการเท่านั้น ตัวอย่างของคำสั่งการประมวลผลอาจเป็นคำสั่งต่อไปนี้

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

ดังที่คุณเห็นจากตัวอย่างข้างต้น การประกาศ XML มีสิ่งที่เรียกว่าแอตทริบิวต์หลอก ซึ่งคล้ายกับแอตทริบิวต์ทั่วไปที่เราพูดถึงข้างต้นมาก ความจริงก็คือ ตามคำจำกัดความแล้ว การประกาศ XML และคำแนะนำในการประมวลผลไม่สามารถมีแอตทริบิวต์ได้ ดังนั้นการประกาศเหล่านี้จึงเรียกว่าแอตทริบิวต์หลอก สิ่งนี้ควรค่าแก่การจดจำไว้ในอนาคตเพื่อหลีกเลี่ยงข้อผิดพลาดต่างๆ

เนื่องจากเราได้จัดการกับแอตทริบิวต์หลอกแล้ว เรามาดูความหมายกันดีกว่า

  • การเข้ารหัส – รับผิดชอบในการเข้ารหัสเอกสาร XML โดยปกติจะใช้การเข้ารหัส UTF8
  • เวอร์ชัน – เวอร์ชันของภาษา XML ที่ใช้เขียนเอกสารนี้ โดยทั่วไปนี่คือ XML เวอร์ชัน 1.0

ตอนนี้เรามาดูส่วนสรุปของบทความกันดีกว่า และพิจารณาโครงสร้าง XML ดังกล่าวเป็นส่วนความคิดเห็นและส่วน CDATA

XML มีวัตถุประสงค์เพื่อใช้กันอย่างแพร่หลาย อักขระไม่จำกัดเฉพาะชุดอักขระ ASCII 7 บิต อักขระที่อนุญาตใน XML ประกอบด้วยอักขระควบคุม ASCII สามตัว อักขระ ASCII ปกติทั้งหมด และอักขระ Unicode อื่นๆ เกือบทั้งหมด

ชื่อ.

ใน XML ชื่อทั้งหมดต้องขึ้นต้นด้วยตัวอักษร ขีดล่าง (_) หรือโคลอน (:) และต่อด้วยอักขระชื่อที่ถูกต้องเท่านั้น ได้แก่ ตัวอักษรที่รวมอยู่ในส่วนอักขระ Unicode เลขอารบิก ขีดกลาง และสัญลักษณ์ . อย่างไรก็ตาม ชื่อไม่สามารถขึ้นต้นด้วยสตริง xml ไม่ว่าในกรณีใด ชื่อที่ขึ้นต้นด้วยอักขระเหล่านี้สงวนไว้สำหรับใช้งานโดย W3C ต้องจำไว้ว่าเนื่องจากตัวอักษรไม่ได้จำกัดอยู่เพียงอักขระ ASCII เท่านั้น คำจากภาษาแม่ของคุณจึงสามารถใช้เป็นชื่อได้

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

เอกสาร XML ใด ๆ ประกอบด้วยส่วนต่างๆ ดังต่อไปนี้:

  • อารัมภบททางเลือก
  • เนื้อความของเอกสาร
  • บทส่งท้ายเพิ่มเติมที่ตามหลังแผนผังองค์ประกอบ

มาดูรายละเอียดแต่ละส่วนกันดีกว่า

อารัมภบทของเอกสาร XML

เอกสาร XML เริ่มต้นด้วยอารัมภบท อารัมภบทประกอบด้วยคำแนะนำบางอย่างสำหรับตัวแยกวิเคราะห์ XML และแอปพลิเคชัน

อารัมภบทประกอบด้วยหลายส่วน:

  1. การประกาศ XML เผื่อเลือกที่อยู่ระหว่างอักขระ- โฆษณาประกอบด้วย:
    • เครื่องหมาย xml และหมายเลขเวอร์ชันของข้อกำหนด XML
    • ข้อบ่งชี้ของการเข้ารหัสอักขระ (การเข้ารหัส) ที่ใช้เขียนเอกสาร (โดยค่าเริ่มต้น encoding="UTF-8");
    • พารามิเตอร์แบบสแตนด์อโลนซึ่งสามารถรับค่า "yes" หรือ "no" (โดยค่าเริ่มต้น standalone="yes" ) ค่า "ใช่" บ่งชี้ว่าเอกสารประกอบด้วยการประกาศองค์ประกอบที่จำเป็นทั้งหมด และ "ไม่ใช่" บ่งชี้ว่าจำเป็นต้องมี DTD ภายนอก

    ทั้งหมดนี้รวมกันอาจมีลักษณะเช่นนี้:

    .

    สิ่งสำคัญคือต้องทราบว่าในการประกาศ XML ต้องใช้เฉพาะแอตทริบิวต์ version เท่านั้น สามารถละเว้นแอตทริบิวต์อื่นๆ ทั้งหมดได้ ดังนั้นจึงใช้ค่าเริ่มต้น คุณต้องจำไว้ว่าควรระบุแอตทริบิวต์ทั้งหมดเหล่านี้ตามลำดับที่ระบุข้างต้นเท่านั้น

  2. ความคิดเห็น
  3. คำสั่งการประมวลผล
  4. สัญลักษณ์ช่องว่าง
  5. ไม่จำเป็น การประกาศประเภทเอกสาร, DTD (Document Type Declaration) ซึ่งอยู่ระหว่างอักขระและสามารถขยายได้หลายบรรทัด ส่วนนี้จะประกาศแท็กที่ใช้ในเอกสาร หรือจัดให้มีลิงก์ไปยังไฟล์ซึ่งมีการบันทึกการประกาศดังกล่าว

หลังจาก การประกาศประเภทเอกสารความคิดเห็น คำสั่งการประมวลผล และอักขระช่องว่างอาจตามมาด้วย

เนื่องจากทุกส่วนเหล่านี้เป็นทางเลือก คุณจึงสามารถละเว้นอารัมภบทได้

เนื้อความของเอกสาร XML

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

ชื่อขององค์ประกอบรูทถือเป็นชื่อของเอกสารทั้งหมด และระบุไว้ในส่วนที่สองของอารัมภบทหลังคำว่า Doctype หากคำจำกัดความ DTD อยู่ในเอกสาร XML จะถูกวางไว้ในวงเล็บเหลี่ยมหลังชื่อขององค์ประกอบรูท:

แต่โดยปกติแล้ว DTD จะถูกกำหนดไว้สำหรับเอกสาร XML หลายรายการในคราวเดียว ในกรณีนี้จะสะดวกที่จะเขียนแยกจากเอกสารแล้วแทนที่วงเล็บเหลี่ยมจะมีคำใดคำหนึ่ง System หรือ Public เขียนตามด้วยที่อยู่ในรูปแบบของ URI (Uniform Resource Identifier) ​​​​ของไฟล์ด้วย คำจำกัดความของ DTD เพื่อวัตถุประสงค์ในทางปฏิบัติทั้งหมด URI จะถือว่าเทียบเท่ากับ URL แม้ว่าโดยหลักการแล้วอาจเป็นชื่อที่ไม่ซ้ำก็ได้ก็ตาม ตัวอย่างเช่น คำจำกัดความ DTD อาจมีลักษณะดังนี้:

เนมสเปซ XML

เนื่องจากเอกสาร XML ที่แตกต่างกันอาจมีชื่อแท็กและคุณลักษณะเหมือนกัน ซึ่งมีความหมายแตกต่างกันโดยสิ้นเชิง จึงจำเป็นต้องแยกแยะความแตกต่างได้ เมื่อต้องการทำเช่นนี้ ชื่อของแท็กและคุณลักษณะจะได้รับคำนำหน้าแบบสั้น ซึ่งแยกออกจากชื่อด้วยเครื่องหมายทวิภาค คำนำหน้าชื่อเชื่อมโยงกับตัวระบุที่กำหนด เนมสเปซ(เนมสเปซ) ชื่อแท็กและแอตทริบิวต์ทั้งหมดที่มีคำนำหน้าเชื่อมโยงกับตัวระบุเดียวกันในรูปแบบหนึ่ง เนมสเปซซึ่งชื่อจะต้องไม่ซ้ำกัน คำนำหน้าเนมสเปซและตัวระบุถูกกำหนดโดยแอ็ตทริบิวต์ xmlns ดังต่อไปนี้:

ต่อไปนี้ ชื่อของแท็กและคุณลักษณะที่เราต้องการกำหนดให้กับเนมสเปซ "http://URI_namespace" จะขึ้นต้นด้วย ns ตัวอย่างเช่น:

โนโวซีบีสค์.

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

ชื่อพร้อมกับคำนำหน้าเรียกว่าชื่อขยายหรือชื่อที่ผ่านการรับรอง ส่วนของชื่อที่เขียนหลังเครื่องหมายทวิภาคเรียกว่าส่วนท้องถิ่นของชื่อ

(ภาษาอังกฤษ) ภาษามาร์กอัปทั่วไปมาตรฐาน - ภาษามาร์กอัปมาตรฐานทั่วไป) ได้ประกาศตัวเองว่าเป็นภาษาเมตาที่ยืดหยุ่น ครอบคลุมและครอบคลุมสำหรับการสร้างภาษามาร์กอัป แม้ว่าแนวคิดของไฮเปอร์เท็กซ์จะมีขึ้นในปี 1965 แต่ SGML ไม่มีโมเดลไฮเปอร์เท็กซ์ การสร้าง SGML ถือได้อย่างมั่นใจว่าเป็นความพยายามในการเปิดรับความยิ่งใหญ่ เนื่องจากเป็นการผสมผสานความสามารถที่ไม่ค่อยได้ใช้เข้าด้วยกัน นี่คือข้อเสียเปรียบหลัก - ความซับซ้อนและด้วยเหตุนี้ค่าใช้จ่ายสูงของภาษานี้จึงจำกัดการใช้งานเฉพาะกับ บริษัท ขนาดใหญ่ที่สามารถซื้อซอฟต์แวร์ที่เหมาะสมและจ้างผู้เชี่ยวชาญที่ได้รับค่าตอบแทนสูงเท่านั้น นอกจากนี้ บริษัทขนาดเล็กไม่ค่อยมีปัญหาที่ซับซ้อนพอที่จะให้ SGML เข้าไปแก้ไขปัญหาเหล่านั้น

SGML ใช้กันอย่างแพร่หลายในการสร้างภาษามาร์กอัปอื่น ๆ ด้วยความช่วยเหลือในการสร้างภาษามาร์กอัปเอกสารไฮเปอร์เท็กซ์ - HTML ซึ่งเป็นข้อกำหนดที่ได้รับการอนุมัติในปี 1992 ลักษณะที่ปรากฏเกี่ยวข้องกับความจำเป็นในการจัดระเบียบเอกสารบนอินเทอร์เน็ตที่เพิ่มขึ้นอย่างรวดเร็ว การเติบโตอย่างรวดเร็วของจำนวนการเชื่อมต่ออินเทอร์เน็ตและด้วยเหตุนี้เว็บเซิร์ฟเวอร์จึงจำเป็นต้องมีการเข้ารหัสเอกสารอิเล็กทรอนิกส์ที่ SGML ไม่สามารถรับมือได้เนื่องจากความยากลำบากในการพัฒนาสูง การถือกำเนิดของ HTML ซึ่งเป็นภาษามาร์กอัปที่เรียบง่ายสามารถแก้ไขปัญหานี้ได้อย่างรวดเร็ว: ความง่ายในการเรียนรู้และเครื่องมือออกแบบเอกสารมากมายทำให้ภาษานี้เป็นภาษายอดนิยมที่สุดสำหรับผู้ใช้อินเทอร์เน็ต แต่เมื่อจำนวนและคุณภาพของเอกสารบนเว็บเพิ่มมากขึ้น ข้อกำหนดต่างๆ ก็เพิ่มมากขึ้น และความเรียบง่ายของ HTML ก็กลายเป็นข้อเสียเปรียบหลัก แท็กจำนวนที่จำกัดและความไม่สนใจโครงสร้างของเอกสารอย่างสมบูรณ์ ทำให้นักพัฒนาที่เป็นตัวแทนโดยกลุ่ม W3C สร้างภาษามาร์กอัปที่ไม่ซับซ้อนเท่ากับ SGML และไม่ดั้งเดิมเท่ากับ HTML ผลลัพธ์ที่ได้คือ XML ซึ่งเป็นภาษาที่ผสมผสานความเรียบง่ายของ HTML เข้ากับตรรกะมาร์กอัปของ SGML และตรงตามความต้องการของอินเทอร์เน็ต

เอกสาร XML ที่มีรูปแบบที่ดีและถูกต้อง

มาตรฐานกำหนดความถูกต้องสองระดับสำหรับเอกสาร XML:

  • สร้างขึ้นอย่างถูกต้อง(ภาษาอังกฤษ) มีรูปแบบที่ดี- เอกสารที่มีรูปแบบถูกต้องเป็นไปตามกฎทั่วไปทั้งหมดของไวยากรณ์ XML ที่ใช้กับเอกสาร XML ใดๆ และตัวอย่างเช่น หากแท็กเริ่มต้นไม่มีแท็กปิดที่ตรงกัน ในกรณีนี้ สร้างไม่ถูกต้องเอกสารเอ็กซ์เอ็มแอล เอกสารที่ไม่ได้สร้างอย่างถูกต้องไม่สามารถถือเป็นเอกสาร XML ได้ ตัวประมวลผล XML (parser) ไม่ควรประมวลผลตามปกติ และควรจัดประเภทสถานการณ์เป็นข้อผิดพลาดร้ายแรง
  • ถูกต้อง(ภาษาอังกฤษ) ถูกต้อง- เอกสารที่ถูกต้องยังสอดคล้องกับกฎความหมายบางประการอีกด้วย นี่เป็นการตรวจสอบความถูกต้องของเอกสารเพิ่มเติมที่เข้มงวดยิ่งขึ้นสำหรับการปฏิบัติตามกฎภายนอกที่กำหนดไว้ล่วงหน้า แต่มีอยู่แล้ว เพื่อลดจำนวนข้อผิดพลาด เช่น โครงสร้างและองค์ประกอบของเอกสารเฉพาะที่กำหนดหรือกลุ่มของเอกสาร กฎเหล่านี้สามารถพัฒนาได้โดยผู้ใช้เองหรือโดยนักพัฒนาบุคคลที่สาม เช่น ผู้พัฒนาพจนานุกรมหรือมาตรฐานการแลกเปลี่ยนข้อมูล โดยทั่วไปแล้ว กฎดังกล่าวจะถูกจัดเก็บไว้ในไฟล์พิเศษ - ไดอะแกรมซึ่งมีการอธิบายโครงสร้างของเอกสาร ชื่อองค์ประกอบที่ถูกต้องทั้งหมด คุณลักษณะ และอื่นๆ อีกมากมายโดยละเอียด และหากเอกสาร ตัวอย่างเช่น มีชื่อองค์ประกอบที่ไม่ได้กำหนดไว้ก่อนหน้านี้ในสคีมา เอกสาร XML จะได้รับการพิจารณา เป็นโมฆะ- เมื่อตรวจสอบการปฏิบัติตามกฎและสคีมา การตรวจสอบตัวประมวลผล XML (เครื่องมือตรวจสอบความถูกต้อง) มีหน้าที่ (ตามที่ผู้ใช้เลือก) เพื่อรายงานข้อผิดพลาด

แนวคิดทั้งสองนี้ไม่มีการแปลมาตรฐานที่ได้รับการยอมรับอย่างดีเป็นภาษารัสเซีย โดยเฉพาะแนวคิดนี้ ถูกต้องซึ่งสามารถแปลได้ว่า ถูกต้อง, ถูกต้องตามกฎหมาย, เชื่อถือได้, พอดี, หรือแม้กระทั่ง ผ่านการทดสอบการปฏิบัติตามกฎเกณฑ์มาตรฐานกฎหมาย- โปรแกรมเมอร์บางคนใช้กระดาษลอกลายที่จัดตั้งขึ้นในชีวิตประจำวัน " ถูกต้อง».

ไวยากรณ์ XML

ส่วนนี้จะกล่าวถึงเท่านั้น การก่อสร้างที่ถูกต้องเอกสาร XML นั่นคือไวยากรณ์ของพวกเขา

ลองดูตัวอย่างสูตรอาหารง่ายๆ ที่มาร์กอัปโดยใช้ XML:

> ขนมปังธรรมดา > > แป้ง > ยีสต์ > น้ำอุ่น > เกลือ > > > > ผสมส่วนผสมทั้งหมดแล้วนวดให้ละเอียด > > คลุมด้วยผ้าแล้วทิ้งไว้หนึ่งชั่วโมงในห้องอุ่น > > นวดอีกครั้ง วางบนถาดอบ แล้วนำเข้าเตาอบ > > >

การประกาศ XML

บรรทัดแรกของเอกสาร XML เรียกว่า การประกาศ XML(ภาษาอังกฤษ) การประกาศ XML) คือสตริงที่ระบุเวอร์ชัน XML ในเวอร์ชัน 1.0 การประกาศ XMLสามารถละเว้นได้ ในเวอร์ชัน 1.1 จำเป็นต้องมี นอกจากนี้ยังสามารถระบุการเข้ารหัสอักขระและการมีอยู่ของการขึ้นต่อกันภายนอกได้ที่นี่

ข้อกำหนดนี้ต้องการตัวประมวลผล XML เพื่อรองรับการเข้ารหัส Unicode UTF-8 และ UTF-16 (UTF-32 เป็นทางเลือก) การเข้ารหัสอื่นๆ ตามมาตรฐาน ISO/IEC 8859 เป็นที่ยอมรับ รองรับ และใช้กันอย่างแพร่หลาย (แต่ไม่จำเป็น) การเข้ารหัสอื่นๆ ก็เป็นที่ยอมรับเช่นกัน เช่น Russian Windows-1251, KOI-8 บ่อยครั้งที่ไม่ได้ใช้ตัวอักษรที่ไม่ใช่ภาษาละตินในแท็ก ในกรณีนี้ UTF-8 เป็นการเข้ารหัสที่สะดวกมาก - โดยปกติแล้วปริมาณจะน้อยกว่า UTF-16 การถอดรหัสสามารถทำได้ทั้งเอกสารทั้งหมดและสำหรับคุณลักษณะและข้อความเฉพาะ เอกสารทั้งหมดไม่มีอักขระที่ต้องห้ามเมื่อพยายามแยกวิเคราะห์ด้วยการเข้ารหัสที่ไม่ถูกต้อง

องค์ประกอบราก

ข้อกำหนดทางวากยสัมพันธ์ที่สำคัญที่สุดคือเอกสารมีเพียงรายการเดียวเท่านั้น องค์ประกอบราก(ภาษาอังกฤษ) องค์ประกอบราก) (บางครั้งเรียกว่า องค์ประกอบเอกสาร(ภาษาอังกฤษ) องค์ประกอบเอกสาร- ซึ่งหมายความว่าข้อความหรือข้อมูลอื่นๆ ของเอกสารทั้งหมดจะต้องอยู่ระหว่างแท็กรูทเริ่มต้นแท็กเดียวและแท็กปิดท้ายที่เกี่ยวข้อง

ตัวอย่างที่ง่ายที่สุดต่อไปนี้คือเอกสาร XML ที่มีรูปแบบถูกต้อง:

ตัวอย่างต่อไปนี้ไม่ใช่เอกสาร XML ที่ถูกต้องเนื่องจากมีสองเอกสาร องค์ประกอบราก:

> เอนทิตี #1 > > เอนทิตี #2 >

ความคิดเห็น

องค์ประกอบสามารถวางได้ทุกที่ในต้นไม้ - ความคิดเห็น- ความคิดเห็น XML จะถูกวางไว้ในแท็กพิเศษที่ขึ้นต้นด้วยอักขระ- เครื่องหมายยัติภังค์สองตัว (--) ไม่สามารถปรากฏในความคิดเห็นได้

แท็กภายในความคิดเห็นไม่ควรได้รับการประมวลผล

แท็ก

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

มีเอนทิตีที่กำหนดไว้ล่วงหน้าหลายรายการใน XML เช่น lt (คุณสามารถอ้างอิงได้โดยการเขียน<) для левой угловой скобки и amp (ссылка - &) для амперсанда. Возможно также определять собственные сущности. Помимо записи с помощью сущностей отдельных символов, их можно использовать для записи часто встречающихся текстовых блоков.

ด้านล่างนี้เป็นตัวอย่างของการใช้เอนทิตีที่กำหนดไว้ล่วงหน้าเพื่อหลีกเลี่ยงการใช้เครื่องหมายและในชื่อ:

> เอทีแอนด์ที >

รายการเอนทิตีที่กำหนดไว้ล่วงหน้าทั้งหมดประกอบด้วย &(&)< (<), >(>), " (") และ " (") - สองอันสุดท้ายมีประโยชน์สำหรับการเขียนตัวคั่นภายในค่าแอตทริบิวต์ คุณสามารถกำหนดเอนทิตีของคุณในเอกสาร DTD

บางครั้งจำเป็นต้องกำหนดพื้นที่ที่ไม่แยกซึ่งมักใช้ใน HTML และแสดงเป็น ไม่มีเอนทิตีที่กำหนดไว้ล่วงหน้าใน XML มันถูกเขียนขึ้น และการใช้งานทำให้เกิดข้อผิดพลาด การไม่มีเอนทิตีทั่วไปนี้มักจะสร้างความประหลาดใจให้กับโปรแกรมเมอร์จำนวนมาก และสิ่งนี้สร้างปัญหาบางประการเมื่อย้ายการพัฒนา HTML ไปยัง XML

ลิงค์ตามหมายเลขสัญลักษณ์(ภาษาอังกฤษ) การอ้างอิงอักขระตัวเลข) ดูเหมือนการอ้างอิงถึงเอนทิตี แต่แทนที่จะระบุชื่อเอนทิตี อักขระ # และตัวเลข (ในรูปแบบทศนิยมหรือฐานสิบหก) จะถูกระบุ ซึ่งเป็นจำนวนของอักขระในตารางอักขระ Unicode โดยปกติแล้วจะเป็นอักขระที่ไม่สามารถเข้ารหัสได้โดยตรง เช่น ตัวอักษรอารบิกในเอกสารที่เข้ารหัส ASCII เครื่องหมายแอมเพอร์แซนด์สามารถแสดงได้ดังนี้:

> เอทีแอนด์ที >

มีกฎอื่นๆ เกี่ยวกับการสร้างเอกสาร XML ที่ถูกต้อง

ข้อดีและข้อเสีย

ข้อดี

ข้อบกพร่อง

  • การสร้างแบบจำลองความคลุมเครือ
  • XML ไม่มีการสนับสนุนชนิดข้อมูลที่มีอยู่ในภาษา ไม่มีการพิมพ์ที่ชัดเจนนั่นคือแนวคิดของ "จำนวนเต็ม", "สตริง", "วันที่", "บูลีน" ฯลฯ
  • โมเดลข้อมูลแบบลำดับชั้นที่นำเสนอโดย XML นั้นมีข้อจำกัดเมื่อเปรียบเทียบกับโมเดลเชิงสัมพันธ์และกราฟเชิงวัตถุและโมเดลข้อมูลเครือข่าย

การแสดง XML บนเวิลด์ไวด์เว็บ

วิธีทั่วไปสามวิธีในการแปลงเอกสาร XML เป็นรูปแบบที่ผู้ใช้แสดงได้คือ:

  1. การใช้สไตล์ CSS;
  2. การใช้ XSL;
  3. การเขียนตัวจัดการเอกสาร XML ในภาษาการเขียนโปรแกรมใดๆ

หากต้องการระบุการแปลง XSL (XSLT) บนฝั่งไคลเอ็นต์ ต้องมีคำสั่ง XML ต่อไปนี้:

พจนานุกรม XML

เนื่องจาก XML เป็นภาษาที่ค่อนข้างเป็นนามธรรม คำศัพท์ XML จึงได้รับการพัฒนา

พจนานุกรมช่วยให้นักพัฒนาสามารถตกลงเกี่ยวกับชุดชื่อแท็กและคุณลักษณะของแท็กเหล่านั้นได้ หนึ่งในคำศัพท์แรกๆ คือ XHTML ซึ่งเบราว์เซอร์ส่วนใหญ่เข้าใจ XHTML มักใช้เพื่อจัดเก็บและแก้ไขเนื้อหาใน CMS

มีการสร้างคำศัพท์เฉพาะทางมากขึ้น เช่น โปรโตคอลการถ่ายโอนข้อมูล SOAP ซึ่งไม่เป็นมิตรต่อมนุษย์และอ่านยาก มีคำศัพท์เชิงพาณิชย์ เช่น CommerceML, xCBL และ cXML ที่ใช้ในการถ่ายโอนข้อมูลที่มุ่งเน้นการค้า พจนานุกรมเหล่านี้มีคำอธิบายของระบบการสั่งซื้อ ซัพพลายเออร์ ผลิตภัณฑ์ และอื่นๆ

โดยปกติแล้ว เมื่ออธิบายเอกสาร คนๆ หนึ่งจะนึกถึงคำศัพท์สำหรับตัวเองขึ้นมา ซึ่งจากนั้นจะอธิบายโดยใช้ DTD, XSD หรืออธิบายง่ายๆ ให้ผู้สนใจฟังแบบ "ทันที"

พจนานุกรมชนิดหนึ่งที่แพร่หลายคือ FB2 ซึ่งเป็นพจนานุกรมที่อธิบายรูปแบบของหนังสือ โดยมีเชิงอรรถ ใบเสนอราคา หรือแม้แต่รูปภาพทุกประเภท

เวอร์ชัน XML

  • XML1.0
  • XML1.1

ดูสิ่งนี้ด้วย

หมายเหตุ

วรรณกรรม

  • เดวิด ฮันเตอร์, เจฟฟ์ ราฟเตอร์, โจ ฟาเซ็ตต์, เอริค ฟาน เดอร์ วลิสต์ ฯลฯ XML. การทำงานกับ XML รุ่นที่ 4 = การเริ่มต้น XML รุ่นที่ 4 - อ.: “วิภาษวิธี”, 2552. - 1344 หน้า - ไอ 978-5-8459-1533-7
  • เดวิด ฮันเตอร์, เจฟฟ์ ราฟเตอร์ และคนอื่นๆ XML. หลักสูตรพื้นฐาน = XML เริ่มต้น - อ.: วิลเลียมส์, 2552. - 1344 น. - ไอ 978-5-8459-1533-7
  • โรเบิร์ต ทาบอร์.การใช้งานบริการเว็บ XML บนแพลตฟอร์ม Microsoft .NET = Microsoft .NET XML Web Services - อ.: วิลเลียมส์, 2545. - 464 หน้า - ไอ 0-672-32088-6

ลิงค์

  • XML บนเว็บไซต์ World Wide Web Consortium (W3C)
  • ข้อกำหนดมาตรฐาน XML 1.0 อย่างเป็นทางการ
  • ข้อกำหนดมาตรฐาน XML 1.1 อย่างเป็นทางการ
  • เอกสาร XML ในบทความและฟอรัมของเว็บไซต์ IBM

ในบทความนี้เราจะพูดถึงหัวข้อนี้ โครงสร้างเอกสาร XML- คุณและฉันได้พูดคุยเกี่ยวกับเรื่องนี้แล้ว และวันนี้เราจะเขียนเรื่องแรกของเรา เอกสารเอ็กซ์เอ็มแอลและฉันจะอธิบายโครงสร้างของมันโดยละเอียดด้วย

ผมขอยกเรื่องง่ายๆ ให้คุณทันที ตัวอย่างเอกสาร XML:




]>


ไอบีเอ็ม เลอโนโว V570
เดลล์ อินสปิรอน N5010


โกธิค 2
อาจและเวทมนตร์ 6

ชื่อเรื่องมาที่จุดเริ่มต้นมาก เอกสารเอ็กซ์เอ็มแอล- ส่วนหัวในตัวอย่างเป็นแบบสากล สิ่งเดียวที่บางครั้งการเข้ารหัสอาจแตกต่างกัน ฉันใส่อันที่พบบ่อยที่สุด - UTF-8.

ถัดมาในส่วนนี้ ด็อคไทป์ซึ่งอธิบายถึงเอนทิตีต่างๆ เราอธิบายไว้สองประการ: " n"อย่างมีความหมาย" แล็ปท็อป" และ " "อย่างมีความหมาย" เกม" ในแง่หนึ่ง แก่นแท้คือค่าคงที่ที่เราสามารถใช้ได้ในร่างกาย เอกสารเอ็กซ์เอ็มแอลเพื่อย่อการบันทึกให้สั้นลงและง่ายต่อการบำรุงรักษาในอนาคต

หลังมาตรา ด็อคไทป์มา เนื้อความของเอกสาร XML- ทุกอย่างที่นี่คล้ายกับไวยากรณ์ของภาษา HTMLนั่นคือมีแท็ก (เป็นองค์ประกอบด้วย) มีแอตทริบิวต์เช่นเดียวกับแท็กภายใน แต่ไม่เหมือน HTMLที่นี่คุณจะคิดชื่อองค์ประกอบเองขึ้นมาด้วย XMLไวยากรณ์ที่เข้มงวดมาก กล่าวคือ ไม่ควรมีแท็กที่ไม่ปิดหรือเครื่องหมายคำพูดหายไปในค่าแอตทริบิวต์ของแท็ก

ให้ความสนใจกับวิธีการใช้สิ่งที่เราอธิบายไว้ในส่วนนี้ ซีดีดาต้าแก่นแท้. หากคุณต้องการแสดงอักขระพิเศษ เช่น & หรือ < จากนั้นคุณจะต้องใช้เอนทิตีที่สงวนไว้ที่เหมาะสม

เกี่ยวกับความสัมพันธ์ระหว่างองค์ประกอบต่างๆ กิน 5 ประเภทของการเชื่อมต่อ:

  • พ่อแม่- ผู้ปกครองสำหรับองค์ประกอบที่กำหนดคือองค์ประกอบที่อยู่ตรงทุกประการ 1 สมุดบันทึก"ผู้ปกครองคือ" ร้านค้า".
  • องค์ประกอบลูก- ตรงกันข้ามกับผู้ปกครอง องค์ประกอบลูกคือองค์ประกอบที่เปิดอยู่ทุกประการ 1 ระดับด้านล่างและอยู่ภายในองค์ประกอบที่กำหนด ตัวอย่างเช่น องค์ประกอบย่อย " ร้านค้า"เป็น" สมุดบันทึก" และ " เกม" โปรดทราบว่าจะมีพาเรนต์หนึ่งรายการเสมอ ในขณะที่อาจมีองค์ประกอบย่อยได้หลายรายการ
  • บรรพบุรุษ- บรรพบุรุษคือองค์ประกอบนั้นสำหรับองค์ประกอบที่กำหนดซึ่งมีมากกว่า 1 ระดับที่สูงขึ้น. ตัวอย่างเช่น สำหรับองค์ประกอบ " แยง“บรรพบุรุษคือ” ร้านค้า".
  • ลูกหลาน- คล้ายกับองค์ประกอบลูก แต่เฉพาะองค์ประกอบเท่านั้นที่ต้องอยู่ด้านล่าง ที่ 1ระดับการซ้อนในองค์ประกอบที่กำหนด ตัวอย่างเช่น สำหรับ " ร้านค้า"ทายาทคือ" แยง".
  • พี่ชาย- องค์ประกอบจะกล่าวได้ว่าเป็นพี่น้องขององค์ประกอบอื่นหากอยู่ในระดับเดียวกันกับองค์ประกอบอื่น แน่นอนว่านอกเหนือจากระดับหนึ่งแล้ว จำเป็นต้องมีผู้ปกครองร่วมกันด้วย เช่น องค์ประกอบ " สมุดบันทึก" และ " เกม"เป็นพี่น้องกัน

นั่นคือทั้งหมดที่ฉันอยากจะบอกคุณ โครงสร้างเอกสาร XML- และเพื่อเน้นย้ำสิ่งนี้ ฉันขอแนะนำให้คุณทำงานง่ายๆ: ทำให้อยู่ภายในองค์ประกอบ แยงอีกสององค์ประกอบซึ่งหนึ่งในนั้นจะมีชื่อของผลิตภัณฑ์และอีกองค์ประกอบหนึ่งคือราคา เพื่อตรวจสอบความถูกต้อง เอกสารเอ็กซ์เอ็มแอลให้เปิดในเบราว์เซอร์ของคุณ หากไม่มีข้อผิดพลาดเกิดขึ้น แสดงว่าทุกอย่างถูกเขียนตามหลักไวยากรณ์อย่างถูกต้อง

ในปี 1986 นานก่อนที่แนวคิดในการสร้างเว็บจะเกิดขึ้นจริง ภาษามาร์กอัปมาตรฐานสากล SGML ( ภาษามาร์กอัปทั่วไปที่เป็นมาตรฐาน) ได้รับการอนุมัติให้เป็นมาตรฐานสากล (ISO 8879) สำหรับการกำหนดภาษามาร์กอัป แม้ว่า SGML จะมีมาตั้งแต่ปลายอายุหกสิบเศษแล้วก็ตาม ใช้เพื่ออธิบายภาษามาร์กอัปในขณะที่ผู้เขียนสามารถให้คำจำกัดความที่เป็นทางการของแต่ละองค์ประกอบและคุณลักษณะของภาษาได้

เดิมที HTML เป็นเพียงหนึ่งในแอปพลิเคชัน SGML เขาอธิบายกฎที่ควรเตรียมข้อมูลสำหรับเวิลด์ไวด์เว็บ ดังนั้น ภาษา HTML จึงเป็นชุดของกฎเกณฑ์ SGML ซึ่งมีการกำหนดเป็น คำจำกัดความประเภทเอกสาร(DTD) อธิบายว่าแท็กและองค์ประกอบย่อมาจากอะไร สคีมา HTML DTD ถูกจัดเก็บไว้ในเว็บเบราว์เซอร์

ข้อเสียของภาษา HTML มีดังต่อไปนี้:

  • HTML ก็มี ชุดแท็กคงที่- คุณไม่สามารถสร้างแท็กของคุณเองที่ผู้ใช้รายอื่นเข้าใจได้
  • HTML เป็นเอกสิทธิ์ เทคโนโลยีการนำเสนอข้อมูล- HTML ไม่มีข้อมูลเกี่ยวกับความหมายของเนื้อหาที่อยู่ในแท็ก
  • HTML - ลิ้น "แบน"- ไม่ได้กำหนดความสำคัญของแท็กไว้ ดังนั้นจึงไม่สามารถใช้อธิบายลำดับชั้นของข้อมูลได้
  • เบราว์เซอร์ถูกใช้เป็นแพลตฟอร์มสำหรับแอปพลิเคชัน- HTML ไม่มีประสิทธิภาพเพียงพอที่จะสร้างเว็บแอปพลิเคชันในระดับที่นักพัฒนาเว็บกำลังมุ่งมั่นอยู่ในปัจจุบัน ตัวอย่างเช่น เป็นไปไม่ได้ที่จะพัฒนาแอปพลิเคชันสำหรับการประมวลผลและค้นหาเอกสารในรูปแบบ HTML อย่างมืออาชีพ
  • ปริมาณการรับส่งข้อมูลเครือข่ายจำนวนมาก- เอกสาร HTML ที่มีอยู่ซึ่งใช้เป็นแอปพลิเคชันจะทำให้อินเทอร์เน็ตมีการรับส่งข้อมูลจำนวนมากในระบบไคลเอนต์-เซิร์ฟเวอร์ ตัวอย่างจะเป็นการส่งเอกสารขนาดใหญ่ผ่านเครือข่ายเมื่อจำเป็นต้องใช้เพียงส่วนเล็กๆ ของเอกสารเท่านั้น

ดังนั้นในอีกด้านหนึ่ง ภาษา HTML เป็นวิธีที่สะดวกมากในการมาร์กอัปเอกสารสำหรับใช้บนเว็บ และในทางกลับกัน เอกสารที่มาร์กอัปด้วย HTML มีข้อมูลเพียงเล็กน้อยเกี่ยวกับเนื้อหา หากเอกสารใดมีข้อมูลที่ครบถ้วนเพียงพอเกี่ยวกับเนื้อหา ก็จะสามารถดำเนินการประมวลผลทั่วไปโดยอัตโนมัติและค้นหาในไฟล์ที่จัดเก็บเอกสารได้ค่อนข้างง่ายดาย SGML ช่วยให้คุณสามารถจัดเก็บข้อมูลเกี่ยวกับเนื้อหาของเอกสารได้ แต่เนื่องจากความซับซ้อน จึงไม่เคยมีการใช้กันอย่างแพร่หลายเท่ากับ HTML

กลุ่มผู้เชี่ยวชาญ SGML นำโดย Jon Bosak จาก Sun Microsystems เริ่มทำงานเพื่อสร้างชุดย่อยของ SGML ที่ชุมชนเว็บสามารถนำมาใช้ได้ มีการตัดสินใจที่จะลบคุณสมบัติที่ไม่จำเป็นจำนวนมากของ SGML ภาษาที่สร้างขึ้นใหม่ในลักษณะนี้เรียกว่า XML พบว่าเวอร์ชันที่เรียบง่ายสามารถเข้าถึงได้มากกว่าต้นฉบับอย่างมาก โดยมีข้อกำหนดความยาวเพียง 26 หน้า เมื่อเทียบกับข้อกำหนด SGML ที่มากกว่า 500 หน้า

มาดูโครงสร้างและคุณลักษณะของภาษานี้ให้ละเอียดยิ่งขึ้น

XML (ภาษามาร์กอัป eXtensible)- ภาษามาร์กอัปที่แนะนำโดย W3C XML- รูปแบบข้อความออกแบบมาเพื่อจัดเก็บข้อมูลที่มีโครงสร้างเพื่อการแลกเปลี่ยนข้อมูลระหว่างโปรแกรมรวมถึงการสร้างภาษามาร์กอัปพิเศษตามนั้น XML เป็นส่วนย่อยของภาษา SGML อย่างง่าย

ภาษา XML มีดังต่อไปนี้ ศักดิ์ศรี:

  • นี่คือรูปแบบเอกสารที่มุ่งเน้นมนุษย์ ซึ่งทั้งมนุษย์และคอมพิวเตอร์สามารถเข้าใจได้
  • รองรับยูนิโค้ด
  • รูปแบบ XML สามารถอธิบายโครงสร้างข้อมูลพื้นฐาน เช่น บันทึก รายการ และต้นไม้
  • เป็นรูปแบบการจัดทำเอกสารด้วยตนเองซึ่งอธิบายโครงสร้างและชื่อฟิลด์ตลอดจนค่าของฟิลด์
  • มีการกำหนดไวยากรณ์และข้อกำหนดการแยกวิเคราะห์อย่างเคร่งครัด ซึ่งช่วยให้ยังคงความเรียบง่าย มีประสิทธิภาพ และสม่ำเสมอ
  • ใช้กันอย่างแพร่หลายในการจัดเก็บและประมวลผลเอกสาร
  • นี่เป็นรูปแบบตามมาตรฐานสากล
  • โครงสร้างลำดับชั้นของ XML เหมาะสำหรับการอธิบายเอกสารเกือบทุกประเภท
  • เป็นข้อความเรียบง่าย ปราศจากการอนุญาตและข้อจำกัดใดๆ
  • แพลตฟอร์มที่เป็นอิสระ
  • มันเป็นชุดย่อยของ SGML ที่มีการสะสมประสบการณ์มากมายและสร้างแอปพลิเคชันเฉพาะทาง

ไปจนถึงผู้มีชื่อเสียง ข้อบกพร่องภาษามีดังต่อไปนี้:

  • ไวยากรณ์ XML ซ้ำซ้อน
    • ขนาดของเอกสาร XML มีขนาดใหญ่กว่าการแสดงไบนารีของข้อมูลเดียวกันอย่างมาก (ประมาณ 10 เท่า)
    • ขนาดของเอกสาร XML มีขนาดใหญ่กว่าเอกสารในรูปแบบการถ่ายโอนข้อมูลข้อความทางเลือกอย่างมาก (เช่น เจสัน, YAML) และโดยเฉพาะอย่างยิ่งในรูปแบบข้อมูลที่ปรับให้เหมาะกับกรณีการใช้งานเฉพาะ
    • ความซ้ำซ้อนของ XML อาจส่งผลต่อประสิทธิภาพของแอปพลิเคชัน ค่าใช้จ่ายในการจัดเก็บ ประมวลผล และส่งข้อมูลกำลังเพิ่มขึ้น
    • สำหรับงานจำนวนมาก ไม่จำเป็นต้องใช้ไวยากรณ์ XML เต็มรูปแบบ และสามารถใช้โซลูชันที่ง่ายกว่าและมีประสิทธิภาพมากกว่ามาก
  • เนมสเปซ XML นั้นใช้งานยากและยากต่อการนำไปใช้ในตัวแยกวิเคราะห์ XML
  • XML ไม่มีการสนับสนุนชนิดข้อมูลที่มีอยู่ในภาษา ไม่มีแนวคิดของ "จำนวนเต็ม", "สตริง", "วันที่", "บูลีน" ฯลฯ
  • แบบจำลองข้อมูลแบบลำดับชั้น XML มีข้อจำกัดเมื่อเปรียบเทียบกับโมเดลเชิงสัมพันธ์และกราฟเชิงวัตถุ

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

ตารางที่ 9.1 โครงสร้างตระกูล XML
XML คำแนะนำทางเทคนิคเกี่ยวกับการใช้ XML
ดีทีดี คำนิยามชนิดเอกสาร (สคีมา)
เอ็กซ์ดีอาร์ รูปแบบ XML ที่ลดลง(สคีมาของ Microsoft)
XSD การกำหนด XML Schema (W3C Schema)
เนมสเปซ วิธีการกำหนดชื่อองค์ประกอบและแอตทริบิวต์
XPath ภาษาเส้นทาง XML
เอ็กซ์ลิงค์ ภาษาลิงก์ XML
XPointer ภาษาตัวชี้ XML
ดอม API โมเดลออบเจ็กต์เอกสาร
แซกโซโฟน API อย่างง่ายสำหรับ XML
XSL ขยายได้ ภาษาสไตล์ชีท
XSL-FO การจัดรูปแบบวัตถุ XSL
XSLT ภาษาแห่งการเปลี่ยนแปลง XSL
Xรวม XML รวมไวยากรณ์


มีคำถามหรือไม่?

แจ้งการพิมพ์ผิด

ข้อความที่จะส่งถึงบรรณาธิการของเรา: