• XML
  • HTML
  • SAML
  • การโอนย้ายข้อมูล

XML คืออะไร?

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

Darcy Ye
Darcy Ye
Developer

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 คือภาษามาร์กอัปที่ใช้ในการเก็บ ถ่ายโอน และแสดงข้อมูล

นอกจากนี้ยังมีความแตกต่างอื่น ๆ:

  1. เนื่องจาก HTML ใช้สำหรับการแสดงผลเนื้อหาสำหรับเบราว์เซอร์ ประเภทแท็กของมันถูกกำหนดล่วงหน้า ในขณะที่แท็ก XML สามารถปรับแต่งได้ตามสถานการณ์จริง
  2. HTML มักจะเป็นลักษณะแบบแชงคงเนื่องจากใช้เพื่อแสดงผลเนื้อหา ในขณะที่ XML เป็นแบบไดนามิกเพราะใช้ในการโอนย้ายข้อมูล
  3. 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 ที่ได้รับจากผู้ให้บริการข้อมูลระบุตัวตนได้โดยตรง โดยไม่ต้องกรอกข้อมูลแต่ละรายการในการตั้งค่าด้วยตนเอง