• XML
  • HTML
  • SAML
  • tiedonsiirto

Mitä on XML?

XML on monipuolinen merkintäkieli datan jäsentelyyn ja siirtämiseen. Siinä on muokattavat tagit, hierarkkinen rakenne ja skeemamääritelmät. Toisin kuin HTML, XML keskittyy datan esittämiseen näytön sijasta. Sitä käytetään laajasti erilaisissa sovelluksissa, mukaan lukien SSO-konfiguraatioissa, kuten Logton SAML-toteutuksessa.

Darcy Ye
Darcy Ye
Developer

Laajennettava merkintäkieli (XML) käyttää tageja osoittamaan, kuinka teksti datatiedostoissa tulisi jäsentää, tallentaa ja välittää. XML on suunniteltu sekä ihmisten että koneiden luettavaksi, mikä tekee siitä tehokkaan ja erittäin muokattavan merkintätyökalun.

XML luotiin World Wide Web Consortiumin (W3C) toimesta vuonna 1996. W3C:n tavoitteena oli luoda kieli, joka voisi auttaa määrittelemään dokumenttityyppejä ja antaa mahdollisuuden luoda mukautettuja tageja. Tuloksena oleva merkintäkielityyppi mahdollistaa sen, että voidaan määritellä, kuinka datat sivulla on merkittävä ennen kuin se jaetaan XML-tiedostona toiselle järjestelmälle. Niin kauan kuin kaksi järjestelmää käyttävät samaa XML-kieltä (tageilla, joita ne molemmat pystyvät tulkitsemaan), molemmat järjestelmät voivat "ymmärtää" XML-tiedostomuodon. Kun XML otetaan kunnolla käyttöön, se varmistaa, että mikä tahansa datatiedosto voidaan tallentaa, siirtää ja sitten käyttää toistuvasti täysin samanlaisena aina, kun siihen päästään käsiksi.

Esimerkki XML-sisällöstä

XML-data koostuu tekstistä digitaalisessa tiedostossa. HTML:n tapaan luot tarpeellisen "koodin" XML-tiedostoille lisäämällä tageja osoittamaan, kuinka teksti tulisi tulkita. Esimerkiksi:

Tämä esimerkki näyttää kolme käyttäjää. XML-sisältö sisältää nimen, käyttäjänimen, sähköpostin ja käyttäjätason.

Tämä luo XML-dokumentin, joka voidaan jakaa ja lukea identiteettitarjoajien ja resurssitarjoajien välillä.

Merkittävästi yllä oleva esimerkki havainnollistaa XML-dokumenttien hierarkkista luonnetta. Esimerkiksi:

  • Ensimmäisen rivin sisältö <?xml version="1.0" encoding="UTF-8"?> on XML-määritys, joka määrittää version ja koodauksen
  • XML-dokumentissa on oltava juurielementti, joka tässä esimerkissä on <users>
  • Kaikkia juurielementin sisällä olevia elementtejä kutsutaan "lapsielementeiksi"
  • Yllä olevassa esimerkissä on 3 lapsielementtiä, jotka on merkitty <user>-tagilla
  • <user>-lapsielementtien sisällä on useita muita lapsielementtejä, kuten <name>, <username>, <email> ja <level>
  • <user>-tagissa on myös id, jota kutsutaan XML-atribuutiksi. Elementti ei voi sisältää useita attribuutteja samalla nimellä

Käytetyt tagit näyttävät, mitä kukin tietotyyppi on, ja tavallinen teksti toimii itse tietona. Huomaa myös, kuinka sisältö on sisennetty. Tämä ei auta järjestelmiä käsittelemään XML-tiedostoa, vaan ihmisiä selaamaan XML-tiedostoa ja sen hierarkkista järjestystä helpommin löytämään ja ratkaisemaan mahdolliset virheet tai puutteet.

Mikä on XML-skeema?

Skeema toimii XML-dokumentin "määritelmänä". Tämä tarkoittaa sitä, että se kuvaa XML-tiedostorakenteen keskeiset säännöt ja rajoitukset sekä sisältö- ja tietotyyppien kontrollit—halliten sitä, kuinka ne vuorovaikuttavat keskenään dokumentissa. Tämä varmistaa XML:n tietojen eheyden suojaamisen koko ajan, vaikka se käsitellään eri sovelluksissa tai jopa järjestelmissä.

Kaksi pääasiallista skeemakieltä ovat Document Type Definition (DTD) ja XML Schema Definition (XSD). XSD on XML-dokumenteissa yleisimmin käytetty kieli rikkaan ominaisuusjoukkonsa, tehokkaiden tietotyyppiominaisuuksiensa ja muiden seikkojen vuoksi.

Mikä on XML-syntaksi?

Jos XML-skeemat, kuten XSD, koskevat kaikkia XML-dokumenttien yksityiskohtaisia teknisiä vaatimuksia niiden pätevyyden varmistamiseksi, XML-syntaksi tarjoaa joukon sääntöjä, jotka hallitsevat ja kontrolloivat XML-tiedostojen yleistä rakennetta. Esimerkiksi XML-syntaksi voi kattaa tekstisisällön, kuten itse sulkevat elementit (yksittäiset tietokohdat, jotka eivät vaadi lisäsisältöä) tai XML-määritykset (käytetään dokumenttien alussa kuvaamaan keskeisiä tietoja, kuten merkkijoukkojen koodausta), sekä dokumentin käyttämän XML-version.

XML vs HTML

Jos olet tutustunut HTML:ään, tapa, jolla XML-tiedostot käyttävät merkintöjä, näyttää hyvin tutulta—mutta näillä kahdella merkintäkielellä on keskeinen ero: niiden käyttötarkoitukset ja tavoitteet eroavat toisistaan:

  • HTML on merkintäkieli, jota käytetään auttamaan selaimia ymmärtämään, kuinka sisältö näytetään näytöllä
  • XML on merkintäkieli, jota käytetään datan tallentamiseen, näyttämiseen ja siirtämiseen

Lisäksi niillä on joitakin muita eroja:

  1. Koska HTML on tarkoitettu selainkäyttöön sisällön renderöintiin, sen tagityypit ovat ennalta määriteltyjä, kun taas XML-tagit voidaan mukauttaa todellisten tilanteiden mukaan
  2. HTML on usein staattinen, koska sitä käytetään sisällön näyttämiseen; XML on dynaaminen, koska sitä käytetään datan siirtämiseen
  3. HTML ei tue nimiavaruuksia, kun taas XML voi käyttää nimiavaruuksia erottamaan tagit, jotka saattavat olla samalla nimellä mutta eri yhteyksissä välttääkseen sekaannusta

Tässä esimerkissä:

  • tech:title käyttää <http://www.example.com/tech> nimiavaruutta, mikä osoittaa, että tämä <title>-elementti kuuluu tech-nimiavaruuteen
  • bio:author käyttää <http://www.example.com/bio> nimiavaruutta, mikä osoittaa, että tämä <author>-elementti kuuluu bio-nimiavaruuteen

Kuinka XML:ää käytetään Logtossa?

Logto tukee SAML-protokollaa SSO:lle. Kun konfiguroidaan SSO:ta, identiteettitarjoaja tarjoaa XML-muotoisen konfiguraatiotiedoston, joka sisältää tärkeitä konfiguraatioita, kuten sertifikaatit ja kertakirjautumis-URL:t.

SAML SSO:n konfiguroinnissa Logto sallii suoran XML-konfiguraatiotiedoston lataamisen identiteettitarjoajalta saatujen tietojen perusteella, jolloin jokaista konfiguraatiokohtaa ei tarvitse täyttää manuaalisesti.