Extensible Markup Language (XML) ใช้แท็กเพื่อระบุว่า ข้อความในไฟล์ข้อมูลควรถูกสร้างเก็บอย่างไรและถ่ายทอดออกไปอย่างไร XML ถูกออกแบบมาเพื่อให้มนุษย์และเครื่องจักรเข้าใจได้ ทำให้มันกลายเป็นเครื่องมือมาร์กอัปที่ทรงพลังและปรับแต่งได้สูง
XML ถูกสร้างโดย World Wide Web Consortium (W3C) ในปี 1996 เป้าหมายของ W3C คือการสร้างภาษาที่สามารถช่วยกำหนดประเภทของเอกสารและให้ความสามารถในการสร้างแท็กที่ปรับแต่งได้ ประเภทของภาษามาร์กอัปนี้ช่วยให้สามารถกำหนดวิธีการกำกับข้อมูลบนหน้าเว็บก่อนที่จะส่งต่อในรูปแบบ XML ไฟล์ให้กับระบบอื่น ทุกระบบที่ใช้ภาษาของ XML เดียวกัน (ด้วยแท็กที่ทั้งสองฝ่ายสามารถตีความได้) จะสามารถ "เข้าใจ" รูปแบบไฟล์ XML ได้ เมื่อ XML ถูกใช้อย่างถูกต้อง มันจะมั่นใจได้ว่าไฟล์ข้อมูลสามารถถูกจัดเก็บ ส่งต่อ และใช้งานได้เหมือนเดิมทุกครั้งที่เข้าถึง
ตัวอย่างเนื้อหา XML#
ข้อมูลใน XML ประกอบด้วยข้อความในไฟล์ดิจิทัล คล้ายกับ HTML คุณต้องสร้าง "โค้ด" ที่จำเป็นสำหรับไฟล์ XML โดยการแทรกแท็กเพื่อระบุวิธีการตีความข้อความ ยกตัวอย่าง:
ตัวอย่างนี้แสดงผู้ใช้สามคน เนื้อหา XML รวมถึงชื่อ ชื่อผู้ใช้ อีเมล และระดับผู้ใช้
สิ่งนี้สร้าง XML เอกสารที่สามารถแบ่งปันและอ่านระหว่างผู้ให้บริการบัตรประชาชนและผู้ให้บริการทรัพยากร
ที่สำคัญ ตัวอย่างด้านบนแสดงถึงลักษณะทางลำดับชั้นของเอกสาร XML ตัวอย่างเช่น:
- เนื้อหาในบรรทัดแรก
<?xml version="1.0" encoding="UTF-8"?> คือ การประกาศ XML ซึ่งระบุรุ่นและการเข้ารหัส
- ในเอกสาร XML จะต้องมีองค์ประกอบราก ซึ่งในตัวอย่างนี้คือ
<users>
- องค์ประกอบอื่น ๆ ทั้งหมดที่อยู่ในองค์ประกอบรากเรียกว่า "องค์ประกอบย่อย"
- ในตัวอย่างด้านบนมีองค์ประกอบย่อย 3 รายการ ที่ถูกทำเครื่องหมายด้วยแท็ก
<user>
- ภายในองค์ประกอบย่อย
<user> มีองค์ประกอบย่อยอื่น ๆ เช่น <name> <username> <email> และ <level>
- ในแท็ก
<user> ยังมี id ซึ่งเรียกว่าแอตทริบิวต์ของ XML องค์ประกอบไม่สามารถมีแอตทริบิวต์ซ้ำกันได้
แท็กที่ใช้แสดงถึงประเภทข้อมูลแต่ละประเภท โดยมีข้อความธรรมดาที่ใช้เป็นข้อมูลเอง ต้องสังเกตด้วยว่าเนื้อหาถูกจัดย่อหน้า นี่ไม่ใช่เพื่อช่วยให้ระบบประมวลผลไฟล์ XML ได้ แต่เพื่อช่วยมนุษย์ให้สามารถดูได้ง่ายขึ้นสำหรับไฟล์ XML และลำดับชั้นของมัน เพื่อค้นหาและแก้ไขข้อผิดพลาดหรือการตกหล่นใด ๆ
สคีมา XML คืออะไร?#
สคีมาเป็นเหมือน "การกำหนด" สำหรับเอกสาร XML นั่นหมายถึงมันอธิบายกฎสำคัญและข้อจำกัดของโครงสร้างไฟล์ XML รวมถึงการควบคุมเนื้อหาและประเภทข้อมูล—ควบคุมว่าพวกมันจะมีปฏิสัมพันธ์กับเอกสารอย่างไร สิ่งนี้จะทำให้แน่ใจได้ว่าความสมบูรณ์ของข้อมูลภายใน XML จะได้รับการปกป้องตลอดเวลา แม้เมื่อต้องจัดการระหว่างแอปพลิเคชันหรือระบบที่ต่างกัน
ภาษาเขียนแบบสคีมาหลักสองประเภทคือ Document Type Definition (DTD) และ XML Schema Definition (XSD) XSD เป็นภาษาที่ใช้กันมากที่สุดในเอกสาร XML เนื่องจากมีชุดคุณสมบัติที่หลากหลายและความสามารถในการจัดการประเภทข้อมูลที่ทรงพลังมากขึ้น
ไวยากรณ์ XML คืออะไร?#
ถ้า XML สคีมาอย่าง XSD มุ่งเน้นไปที่การกำหนดรายละเอียดสำหรับเอกสาร XML เพื่อรับรองความถูกต้อง ไวยากรณ์ XML จะให้ชุดกฎที่ควบคุมและควบคุมโครงสร้างรวมของไฟล์ XML ยกตัวอย่างเช่น ไวยากรณ์ XML สามารถครอบคลุมเนื้อหาข้อความ เช่นองค์ประกอบแบบปิดด้วยตัวเอง (ชิ้นส่วนข้อมูลที่ไม่ต้องการเนื้อหาเพิ่มเติม) หรือการประกาศ XML (ใช้ที่จุดเริ่มต้นของเอกสารเพื่ออธิบายข้อมูลสำคัญ เช่น การเข้ารหัสตัวอักษร) รวมถึงรุ่น XML ที่เอกสารใช้
XML เทียบกับ HTML#
ถ้าคุณคุ้นเคยกับ HTML วิธีที่ไฟล์ XML ใช้มาร์กอัปดูคุ้นเคยมาก แต่มีข้อแตกต่างที่สำคัญระหว่างภาษาเหล่านี้สองภาษา—การใช้งานและวัตถุประสงค์ต่างกัน:
- HTML คือภาษามาร์กอัปที่ใช้ช่วยให้เบราว์เซอร์เข้าใจว่าจะต้องแสดงผลเนื้อหาบนหน้าจออย่างไร
- XML คือภาษามาร์กอัปที่ใช้ในการเก็บ ถ่ายโอน และแสดงข้อมูล
นอกจากนี้ยังมีความแตกต่างอื่น ๆ:
- เนื่องจาก HTML ใช้สำหรับการแสดงผลเนื้อหาสำหรับเบราว์เซอร์ ประเภทแท็กของมันถูกกำหนดล่วงหน้า ในขณะที่แท็ก XML สามารถปรับแต่งได้ตามสถานการณ์จริง
- HTML มักจะเป็นลักษณะแบบแชงคงเนื่องจากใช้เพื่อแสดงผลเนื้อหา ในขณะที่ XML เป็นแบบไดนามิกเพราะใช้ในการโอนย้ายข้อมูล
- HTML ไม่รองรับเนมสเปซ ในขณะที่ XML สามารถใช้เนมสเปซเพื่อแยกแยะแท็กที่อาจมีชื่อเดียวกันแต่บริบทต่างกัน เพื่อป้องกันความสับสน
ในตัวอย่างนี้:
tech:title ใช้ <http://www.example.com/tech> เป็นเนมสเปซ ซึ่งบ่งบอกว่าองค์ประกอบ <title> นี้อยู่ในเนมสเปซ tech
bio:author ใช้ <http://www.example.com/bio> เป็นเนมสเปซ ซึ่งบ่งบอกว่าองค์ประกอบ <author> นี้อยู่ในเนมสเปซ bio
XML ถูกใช้ใน Logto อย่างไร?#
Logto รองรับโปรโตคอล SAML สำหรับ SSO เมื่อทำการตั้งค่า SSO ผู้ให้บริการข้อมูลระบุตัวตนจะให้ไฟล์การตั้งค่าในรูปแบบ XML ที่รวมถึงการตั้งค่าที่สำคัญต่าง ๆ เช่น ใบรับรองและ URL การเข้าสู่ระบบเดียว
เมื่อทำการตั้งค่า SAML SSO Logto อนุญาตให้อัปโหลดไฟล์การตั้งค่า XML ที่ได้รับจากผู้ให้บริการข้อมูลระบุตัวตนได้โดยตรง โดยไม่ต้องกรอกข้อมูลแต่ละรายการในการตั้งค่าด้วยตนเอง