Czym jest XML?
XML to wszechstronny język znaczników do strukturyzowania i przesyłania danych. Charakteryzuje się konfigurowalnymi znacznikami, hierarchiczną strukturą i definicjami schematów. W przeciwieństwie do HTML, XML skupia się na reprezentacji danych, a nie na ich wyświetlaniu. Jest szeroko stosowany w różnych aplikacjach, w tym w konfiguracjach SSO, takich jak implementacja SAML Logto.
Rozszerzalny język znaczników (XML) używa znaczników do określania, jak tekst w plikach danych powinien być strukturyzowany, przechowywany i przesyłany. XML jest zaprojektowany tak, aby był czytelny zarówno dla ludzi, jak i maszyn, co czyni go potężnym i wysoce konfigurowalnym narzędziem znaczników.
XML zostało stworzone przez World Wide Web Consortium (W3C) w 1996 roku. Celem W3C było stworzenie języka, który mógłby pomóc w definiowaniu typów dokumentów i zapewniałby możliwość tworzenia własnych znaczników. Powstały w ten sposób typ języka znaczników pozwala na definiowanie, jak dane na stronie są oznaczane przed udostępnieniem ich w postaci pliku XML innemu systemowi. Tak długo, jak dwa systemy używają tego samego języka XML (ze znacznikami, które mogą obie interpretować), oba systemy mogą "rozumieć" format pliku XML. Kiedy XML jest prawidłowo wdrożony, zapewnia to możliwość przechowywania, przesyłania i używania dowolnego pliku danych, odtwarzając dokładnie te same dane i strukturę za każdym razem, gdy jest dostępny.
Przykład zawartości XML
Dane XML składają się z tekstu w pliku cyfrowym. Podobnie jak w HTML, tworzysz niezbędny "kod" dla plików XML, wstawiając znaczniki, żeby wskazać, jak tekst powinien być interpretowany. Przykładowo:
Ten przykład pokazuje trzech użytkowników. Zawartość XML obejmuje imię, nazwę użytkownika, email i poziom użytkownika.
To tworzy dokument XML, który może być udostępniany i odczytywany między dostawcami tożsamości a dostawcami zasobów.
Co ważne, powyższy przykład demonstruje hierarchiczną naturę dokumentów XML. Na przykład:
- Zawartość pierwszej linii
<?xml version="1.0" encoding="UTF-8"?>
jest deklaracją XML, która określa wersję i kodowanie - W dokumencie XML musi być element główny, który w tym przykładzie to
<users>
- Wszystkie inne elementy zawarte w elemencie głównym nazywane są "elementami podrzędnymi"
- W powyższym przykładzie są 3 elementy podrzędne, oznaczone tagiem
<user>
- W elementach podrzędnych
<user>
znajduje się kilka innych elementów podrzędnych, takich jak<name>
,<username>
,<email>
, i<level>
- Na tagu
<user>
znajduje się równieżid
, który jest nazywany atrybutem XML. Element nie może zawierać wielu atrybutów o tej samej nazwie
Tagi użyte pokazują, jaki rodzaj danych reprezentują, przy czym zwykły tekst służy jako same dane. Zauważ również, jak zawartość jest wcięta. Nie jest to pomocne systemom w przetwarzaniu pliku XML, ale ma pomóc ludziom łatwiej przeglądać plik XML i jego hierarchiczną kolejność, aby odkryć i rozwiązać ewentualne błędy lub pominięcia.
Czym jest schemat XML?
Schemat działa jako "definicja" dla dokumentu XML. Oznacza to, że opisuje podstawowe zasady i ograniczenia struktury pliku XML, a także kontroluje treści i typy danych—kontrolując, jak ze sobą współdziałają w dokumencie. Zapewnia to, że integralność danych XML jest zawsze chroniona, nawet gdy jest obsługiwana między różnymi aplikacjami lub nawet systemami.
Dwa główne języki schematów to Definicja Typu Dokumentu (DTD) i Definicja Schematów XML (XSD). XSD to najczęściej stosowany język w dokumentach XML ze względu na bogaty zestaw funkcji, potężne możliwości typów danych i inne.
Czym jest składnia XML?
Jeśli schematy XML, takie jak XSD, dotyczą szczegółowych specyfikacji dla dokumentów XML w celu zapewnienia ich ważności, to składnia XML zapewnia zestaw zasad, które rządzą i kontrolują ogólną strukturę plików XML. Na przykład składnia XML może obejmować zawartość tekstową, taką jak elementy samo-zamykające się (pojedyncze informacje niewymagające dodatkowej zawartości) lub deklaracje XML (używane na początku dokumentów do opisu kluczowych informacji, takich jak kodowanie znaków), a także wersję XML używaną przez dokument.
XML vs HTML
Jeśli znasz HTML, sposób, w jaki pliki XML wdrażają znaczniki, będzie bardzo znajomy—ale istnieje kluczowa różnica między tymi dwoma językami znaczników—różnią się ich przypadki użycia i cel:
- HTML to język znacznikowy używany do pomocy przeglądarkom w zrozumieniu, jak wyświetlać zawartość na ekranie
- XML to język znacznikowy używany do przechowywania, wyświetlania i przesyłania danych
Poza tym mają kilka innych różnic:
- Ponieważ HTML służy do renderowania zawartości strony dla przeglądarek, jego typy znaczników są wstępnie zdefiniowane, podczas gdy znaczniki XML można dostosować według rzeczywistych sytuacji
- HTML jest często statyczny, ponieważ jest używany do wyświetlania zawartości; XML jest dynamiczny, ponieważ jest używany do przesyłania danych
- HTML nie obsługuje przestrzeni nazw, podczas gdy XML może używać przestrzeni nazw do rozróżnienia znaczników, które mogą mieć tę samą nazwę, ale różne konteksty, aby uniknąć zamieszania
W tym przykładzie:
tech:title
używa<http://www.example.com/tech>
jako przestrzeni nazw, wskazując, że ten element<title>
należy do przestrzeni nazwtech
bio:author
używa<http://www.example.com/bio>
jako przestrzeni nazw, wskazując, że ten element<author>
należy do przestrzeni nazwbio
Jak XML jest używany w Logto?
Logto obsługuje protokół SAML dla SSO. Podczas konfigurowania SSO dostawca tożsamości dostarcza plik konfiguracyjny w formacie XML, który zawiera ważne konfiguracje, takie jak certyfikaty i URL-e jednokrotnego logowania.
Podczas konfigurowania SAML SSO, Logto pozwala na bezpośrednie przesłanie pliku konfiguracyjnego XML uzyskanego od dostawcy tożsamości, eliminując potrzebę ręcznego wypełniania każdego elementu konfiguracji.