Vad är XML?
XML är ett mångsidigt märkspråk för att strukturera och överföra data. Det har anpassningsbara taggar, hierarkisk struktur och schema-definitioner. Till skillnad från HTML fokuserar XML på datarepresentation snarare än visning. Det används ofta i olika applikationer, inklusive SSO-konfigurationer som Logtos SAML-implementering.
Extensible Markup Language (XML) använder taggar för att indikera hur text i datafiler ska struktureras, lagras och överföras. XML är utformat för att vara läsbart för både människor och maskiner, vilket gör det till ett kraftfullt och mycket anpassningsbart märkspråk.
XML skapades av World Wide Web Consortium (W3C) 1996. W3C:s mål var att skapa ett språk som kunde hjälpa till att definiera dokumenttyper och ge möjlighet att skapa anpassade taggar. Det resulterande märkspråkstypen möjliggör att definiera hur data på en sida markeras upp innan det delas som en XML-fil med ett annat system. Så länge två system använder samma XML-språk (med taggar de båda kan tolka) kan båda systemen "förstå" XML-filformatet. När XML är korrekt implementerat försäkrar detta att vilken datafil som helst kan lagras, överföras och sedan användas, reproducera exakt samma data och struktur varje gång det nås.
XML-exempel
XML-data består av text i en digital fil. Liknande HTML, skapar du den nödvändiga "koden" för XML-filer genom att infoga taggar för att indikera hur texten ska tolkas. Till exempel:
Detta exempel visar tre användare. XML-innehållet inkluderar namn, användarnamn, e-post och användarnivå.
Detta skapar ett XML-dokument som kan delas och läsas mellan identitetsleverantörer och resursleverantörer.
Viktigt är att ovanstående exempel demonstrerar den hierarkiska naturen av XML-dokument. Till exempel:
- Innehållet på den första raden
<?xml version="1.0" encoding="UTF-8"?>
är XML-deklarationen, som specificerar version och kodning - I ett XML-dokument måste det finnas ett rotelement, vilket i detta exempel är
<users>
- Alla andra element som finns inom rotelementet kallas "fältelement"
- I ovanstående exempel finns det 3 fältelement, markerade med
<user>
-taggen - Inom
<user>
fältelement, finns flera andra fältelement, såsom<name>
,<username>
,<email>
och<level>
- På
<user>
-taggen finns också ettid
, vilket kallas en XML-attribut. Ett element kan inte innehålla flera attribut med samma namn
Taggarna som används visar vilken typ av data det är, med vanlig text som fungerar som själva datan. Notera också hur innehållet är indraget. Detta är inte för att hjälpa system att bearbeta XML-filen, utan för att hjälpa människor att lättare bläddra i XML-filen och dess hierarkiska ordning för att upptäcka och lösa eventuella fel eller utelämningar.
Vad är XML-schema?
Ett schema fungerar som "definitionen" för ett XML-dokument. Detta betyder att det beskriver de viktigaste reglerna och begränsningarna för XML-filstrukturen, samt kontrollerar innehåll och datatyper—kontrollerar hur de interagerar med varandra i dokumentet. Detta säkerställer att dataintegriteten i XML skyddas hela tiden, även när det hanteras mellan olika applikationer eller till och med system.
De två huvudsakliga schemalangagen är Document Type Definition (DTD) och XML Schema Definition (XSD). XSD är det vanligaste språket som används i XML-dokument på grund av dess rika funktionsuppsättning, kraftfulla datatypshantering och mer.
Vad är XML-syntax?
Om XML-skeman som XSD handlar om detaljerade specifikationer för XML-dokument för att säkerställa deras giltighet, så ger XML-syntax en uppsättning regler som styr och kontrollerar XML-filernas övergripande struktur. Till exempel kan XML-syntax täcka textinnehåll, såsom självlutande element (enskild information som inte kräver ytterligare innehåll) eller XML-deklarationer (används i början av dokument för att beskriva viktig information, såsom teckenkodning), samt XML-versionen som används av dokumentet.
XML vs HTML
Om du är bekant med HTML, ser sättet på vilket XML-filer implementerar märkning mycket bekant ut—men det finns en viktig skillnad mellan dessa två märkspråk—deras användningsfall och syften skiljer sig:
- HTML är ett märkspråk som används för att hjälpa webbläsare att förstå hur de ska visa innehåll på skärmen
- XML är ett märkspråk som används för att lagra, visa och överföra data
Förutom detta har de några andra skillnader:
- Eftersom HTML är för att rendera sidoinnehåll för webbläsare, är dess taggtyper fördefinierade, medan XML-taggar kan anpassas efter faktiska situationer
- HTML är ofta statiska då det används för att visa innehåll; XML är dynamiskt då det används för att överföra data
- HTML stöder inte namnrymder, medan XML kan använda namnrymder för att skilja mellan taggar som kan ha samma namn men olika sammanhang för att undvika förvirring
I detta exempel:
tech:title
använder<http://www.example.com/tech>
som namnrymd, vilket indikerar att detta<title>
-element tillhörtech
namnrymdbio:author
använder<http://www.example.com/bio>
som namnrymd, vilket indikerar att detta<author>
-element tillhörbio
namnrymd
Hur används XML i Logto?
Logto stöder SAML-protokoll för SSO. När du konfigurerar SSO tillhandahåller identitetsleverantören en XML-formatkonfigurationsfil som inkluderar viktiga konfigurationer såsom certifikat och enkel inloggnings-URL.
När du konfigurerar SAML SSO tillåter Logto direkt uppladdning av XML-konfigurationsfilen erhållen från identitetsleverantören, vilket eliminerar behovet av att manuellt fylla i varje konfigurationspost.