XML dla niewtajemniczonych

Być może docierają do Ciebie czasem informacje o języku XML (Extensible Markup Language) i o powodach, dla których warto korzystać z niego w organizacji. Ale co to właściwie jest język XML? W tym artykule przedstawiono podstawowe informacje na temat języka XML, wyjaśniając, co to jest i jak działa.

W tym artykule

Krótkie omówienie oznaczania, znakowania i tagowania

Cechy charakterystyczne języka XML

Uwaga dotycząca poprawnego formułowania danych

Krótkie omówienie schematów

Krótkie omówienie przekształceń

Rzut oka na język XML w pakiecie Microsoft Office System

Krótkie omówienie oznaczania, znakowania i tagowania

Aby wyjaśnić, co to jest język XML, warto najpierw przedstawić koncepcję oznaczania danych. Ludzie od stuleci tworzą dokumenty — i równie długo oznaczają je na różne sposoby. Robią to na przykład nauczyciele, sprawdzając prace uczniów. Zaznaczają akapity do przeniesienia, zdania do przeformułowania, błędy pisowni do poprawienia itd. Oznaczając dokumenty, określamy ich strukturę, znaczenie i sposób wizualnej prezentacji zawartych w nich informacji. Jeśli korzystasz z funkcji śledzenia zmian w programie Microsoft Office Word, znasz komputerową wersję tego procesu.

W informatyce na tej podstawie powstała koncepcja „znakowania”. Znakowanie to proces stosowania określonych kodów, nazywanych „tagami” (a czasem „znacznikami”), w celu zdefiniowania struktury, wyglądu oraz — w przypadku języka XML — znaczenia dowolnych danych.

Kod HTML tego artykułu to doskonały przykład praktycznego zastosowania znakowania komputerowego. Przeglądając ten kod (w przeglądarce Microsoft Internet Explorer wystarczy kliknąć stronę prawym przyciskiem myszy i kliknąć polecenie Pokaż źródło), zobaczysz fragmenty czytelnego tekstu oraz tagi języka HTML (Hypertext Markup Language), takie jak <p> czy <h2>. Tagi w dokumentach HTML i XML można łatwo rozpoznać, ponieważ są ujęte w nawiasy ostre. Tagi języka HTML w kodzie tego artykułu spełniają różnorodne funkcje — na przykład wskazują początek i koniec poszczególnych akapitów (<p> ... </p>) oraz lokalizację poszczególnych obrazów.


Cechy charakterystyczne języka XML

Dokumenty HTML i XML zawierają dane otoczone tagami — ale na tym kończą się podobieństwa między tymi dwoma językami. W języku HTML tagi definiują wygląd i działanie danych: to są nagłówki, tu zaczyna się akapit i tak dalej. W języku XML tagi definiują strukturę i znaczenie danych: mówią, czym są określone dane.

Opisanie struktury i znaczenia danych umożliwia wielokrotne korzystanie z tych danych na wiele różnych sposobów. Jeśli na przykład masz ciąg danych dotyczących sprzedaży, a każdy element tego ciągu jest wyraźnie oznaczony, możesz załadować do raportu sprzedaży tylko te elementy, których potrzebujesz — a inne załadować do księgowej bazy danych. Innymi słowy możesz użyć jednego systemu do generowania danych i znakowania ich tagami XML, a następnie przetwarzać te dane w dowolnych innych systemach, niezależnie od platformy sprzętowej czy systemu operacyjnego. Możliwość przenoszenia to właśnie powód, dla którego język XML stał się jedną z najpopularniejszych technologii wymiany danych.

Podczas dalszej pracy pamiętaj o następujących kwestiach:

  • Nie można używać języka HTML zamiast XML. Można natomiast dodać do danych w formacie języka XML tagi języka HTML, aby wyświetlić te dane na stronie sieci Web.

  • Język HTML ogranicza się do wstępnie zdefiniowanego zbioru tagów, wspólnych dla wszystkich użytkowników.

  • Język XML umożliwia utworzenie dowolnych tagów niezbędnych do opisania danych i ich struktury. Załóżmy na przykład, że chcesz zapisać i udostępnić informacje dotyczące zwierząt domowych. Możesz utworzyć następujący kod XML:

    <?xml version="1.0"?>
    <CAT>
    <NAME>Izzy</NAME>
    <BREED>Siamese</BREED>
    <AGE>6</AGE>
    <ALTERED>yes</ALTERED>
    <DECLAWED>no</DECLAWED>
    <LICENSE>Izz138bod</LICENSE>
    <OWNER>Colin Wilcox</OWNER>
    </CAT>

Jak widać, dzięki tagom XML można określić, jakie dane mamy przed sobą. Widzisz tu na przykład, że dane dotyczą kota („CAT”), i możesz łatwo znaleźć jego imię (NAME), wiek (AGE) i inne informacje. Możliwość tworzenia tagów definiujących niemal dowolną strukturę danych to właśnie „rozszerzalność” języka XML.

Nie należy jednak mylić tagów w tym przykładzie kodu z tagami w pliku HTML. Gdyby na przykład wkleić tę strukturę języka XML do pliku HTML i wyświetlić go w przeglądarce, rezultat mógłby być następujący:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

Przeglądarka ignoruje tagi XML i wyświetla tylko dane.


Uwaga dotycząca poprawnego formułowania danych

Być może zdarzyło Ci się usłyszeć, jak ktoś z działu informatycznego mówi o „poprawnie sformułowanym” kodzie XML. Poprawnie sformułowany plik XML to plik zgodny z zestawem bardzo ścisłych reguł języka XML. Jeśli plik nie będzie zgodny z tymi regułami, kod XML nie będzie działał. Na przykład w powyższym przykładzie kodu każdemu tagowi otwierającemu odpowiada tag zamykający, zgodnie z jedną reguł poprawnego formułowania kodu. Gdyby usunąć jeden z tagów, próba otwarcia tego pliku w programie pakietu Office spowodowałaby wyświetlenie komunikatu o błędzie, a użycie pliku w tym programie byłoby niemożliwe.

Nie musisz koniecznie znać reguł tworzenia prawidłowo sformułowanego kodu XML (choć łatwo je zrozumieć), ale musisz pamiętać, że dane XML można udostępniać między różnymi programami i systemami tylko wtedy, gdy są prawidłowo sformułowane. Jeśli nie możesz otworzyć pliku XML, możliwe że nie jest on prawidłowo sformułowany.

Język XML jest też niezależny od platformy, co znaczy, że dowolny program obsługujący kod XML ma możliwość odczytywania i przetwarzania danych XML, niezależne od systemu operacyjnego i sprzętu. Na przykład dzięki użyciu odpowiednich tagów XML możesz otwierać dane z komputera mainframe i pracować z nimi w klasycznym programie komputerowym. Ponadto niezależnie od tego, kto utworzył treść danych XML, możesz pracować z tymi samymi danymi w różnych programach pakietu Office. Dzięki możliwości przenoszenia język XML stał się jedną z najpopularniejszych technologii wymiany danych między bazami danych a komputerami użytkowników.

Język XML używany przez inne programy

Oprócz prawidłowo sformułowanych i otagowanych danych w systemach XML używane są na ogół jeszcze dwa dodatkowe elementy: schematy i przekształcenia. W poniższych sekcjach przedstawiono działanie tych dodatkowych składników.


Krótkie omówienie schematów

„Schemat” brzmi poważnie, ale to nic strasznego. Schemat to po prostu plik XML zawierający reguły, które określają, co może, a co nie może się znaleźć w pliku danych XML. Pliki schematów najczęściej mają rozszerzenie xsd, a pliki danych XML — rozszerzenie xml.

Schematy umożliwiają programom sprawdzanie poprawności danych. Zapewniają podstawowe funkcje określania struktury danych i sprawdzania, czy mają one właściwe znaczenie zarówno dla autora, jak i dla innych użytkowników. Jeśli na przykład użytkownik nieprawidłowo wprowadzi dane, choćby wpisując tekst w polu daty, program może wyświetlić monit o wprowadzenie prawidłowych danych. O ile dane w pliku XML są zgodne z regułami określonymi w schemacie, dowolny program obsługujący język XML może przy użyciu tego schematu odczytywać, interpretować i przetwarzać te dane. Na przykład, jak pokazano na poniższej ilustracji, program Excel może sprawdzić poprawność danych w pliku <CAT> na podstawie schematu CAT.

Schematy umożliwiają aplikacjom współużytkowanie danych XML.

Schematy mogą być złożone, dlatego wyjaśnienie sposobu ich tworzenia wykracza poza zakres tego artykułu. Poza tym prawdopodobnie potrafią to już robić pracownicy działu informatycznego w Twojej firmie. Warto jednak wiedzieć, jak wygląda taki schemat. Poniższy schemat określa wszystkie reguły zbioru tagów <CAT> ... </CAT>.

<xsd:element name="CAT">  
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NAME" type="xsd:string"/>
<xsd:element name="BREED" type="xsd:string"/>
<xsd:element name="AGE" type="xsd:positiveInteger"/>
<xsd:element name="ALTERED" type="xsd:boolean"/>
<xsd:element name="DECLAWED" type="xsd:boolean"/>
<xsd:element name="LICENSE" type="xsd:string"/>
<xsd:element name="OWNER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

Nie martw się, jeśli nie rozumiesz któregoś z elementów w tym przykładzie. Pamiętaj tylko o następujących kwestiach:

  • Pojedyncze pozycje w tym przykładowym schemacie nazywa się „deklaracjami”. Gdyby potrzebne były dodatkowe informacje na temat zwierzęcia, na przykład kolor czy znaki szczególne, dział informatyczny mógłby dodać deklarację do schematu. System XML można modyfikować odpowiednio do zmiennych potrzeb biznesowych.

  • Deklaracje zapewniają dużą kontrolę nad strukturą danych. Na przykład deklaracja <xsd:sequence> oznacza, że tagi, takie jak <NAME> czy <BREED>, muszą występować w określonej kolejności. Deklaracje mogą też określać typy danych, które mogą wprowadzać użytkownicy. Na przykład powyższy schemat wymaga, aby wiek kota był liczbą dodatnią, oraz aby dla tagów ALTERED (sterylizacja) i DECLAWED (usunięcie pazurów) wprowadzać wartości logiczne (PRAWDA lub FAŁSZ).

  • Jeśli dane w pliku XML są zgodne z regułami wskazanymi w schemacie, takie dane określa się jako poprawne. Dlatego proces porównywania pliku danych XML ze schematem nazywa się, dość logicznie, sprawdzaniem poprawności. Dużą zaletą korzystania ze schematów jest to, że pozwalają zapobiec używaniu uszkodzonych danych. Umożliwiają też łatwe znajdowanie uszkodzonych danych, ponieważ system XML zatrzymuje się po napotkaniu problemu.


Krótkie omówienie przekształceń

Jak wspomniano wcześniej, język XML zapewnia też zaawansowane możliwości przetwarzania i ponownego wykorzystywania danych. Umożliwia to język przekształceń XSLT (Extensible Stylesheet Language Transformation) — dla uproszczenia mówi się o „przekształceniach”.

Możesz również używać przekształceń (a właściwie robi to Twój dział informatyczny) do wymiany danych między systemami wewnętrznymi, na przykład bazami danych. Załóżmy na przykład, że w bazie danych A przechowywane są dane dotyczące sprzedaży, ujęte w strukturze tabel dostosowanej do potrzeb działu sprzedaży. W bazie danych B przechowywane są dane o przychodach i wydatkach, ujęte w strukturze tabel dostosowanej do potrzeb działu księgowości. Dzięki zastosowaniu przekształcenia baza danych B może odbierać dane z bazy A i zapisywać je w odpowiednich tabelach.

Na podstawowy system XML składa się połączenie pliku danych, schematu i przekształcenia. Na poniższej ilustracji przedstawiono typowy sposób działania takich systemów. Poprawność pliku danych jest sprawdzana na podstawie schematu, po czym dane z pliku są przekształcane do różnych użytecznych postaci. W tym przypadku przekształcenie umożliwia wdrożenie danych w tabeli na stronie sieci Web.

Podstawowa struktura pliku XML ze schematem i transformacją

Poniższy kod to przykład sposobu formułowania przekształcenia. Powoduje załadowanie danych z pliku <CAT> do tabeli na stronie sieci Web. Również ten przykład nie ma służyć do nauki tworzenia przekształceń, a jedynie do pokazania, jak może wyglądać takie przekształcenie.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<TABLE>
<TR>
<TH>Name</TH>
<TH>Breed</TH>
<TH>Age</TH>
<TH>Altered</TH>
<TH>Declawed</TH>
<TH>License</TH>
<TH>Owner</TH>
</TR>
<xsl:for-each select="CAT">
<TR ALIGN="LEFT" VALIGN="TOP">
<TD>
<xsl:value-of select="NAME"/>
</TD>
<TD>
<xsl:value-of select="BREED"/>
</TD>
<TD>
<xsl:value-of select="AGE"/>
</TD>
<TD>
<xsl:value-of select="ALTERED"/>
</TD>
<TD>
<xsl:value-of select="DECLAWED"/>
</TD>
<TD>
<xsl:value-of select="LICENSE"/>
</TD>
<TD>
<xsl:value-of select="OWNER"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>

W tym przykładzie pokazano, jak może wyglądać kod jednego z typów przekształceń — ale pamiętaj, że możesz po prostu własnymi słowami opisać, jakich danych i w jakiej formie potrzebujesz. Możesz na przykład zwrócić się do działu informatycznego, mówiąc, że potrzebujesz danych dotyczących sprzedaży w określonych regionach z ostatnich dwóch lat, zaprezentowanych w taki a taki sposób. Wówczas pracownicy działu informatycznego mogą napisać (lub zmodyfikować) przekształcenie, aby wykonać to zadanie.

Co jeszcze lepsze, firma Microsoft i coraz więcej innych dostawców tworzy przekształcenia przeznaczone do najróżniejszych zadań. Dzięki temu w przyszłości będzie prawdopodobnie możliwe pobranie przekształcenia dokładnie odpowiadającego Twoim potrzebom albo łatwego w dostosowaniu do nich. To oznacza, że korzystanie z języka XML będzie wiązać się z coraz mniejszymi kosztami.


Rzut oka na język XML w pakiecie Microsoft Office System

Profesjonalne wersje pakietu Office zapewniają zaawansowaną obsługę języka XML. Od wersji 2007 w pakiecie Microsoft Office używane są formaty plików oparte na języku XML, takie jak docx, xlsx i pptx. Ponieważ dane w języku XML przechowywane są w formacie tekstowym, a nie we własnym formacie binarnym, Twoi klienci mogą definiować własne schematy i korzystać z Twoich danych na jeszcze więcej sposobów, bez konieczności uiszczania opłat licencyjnych. Aby uzyskać więcej informacji na temat nowych formatów, zobacz Otwarte formaty XML i rozszerzenia nazw plików. Inne korzyści to między innymi:

  • Mniejszy rozmiar plików. W nowym formacie używane są technologie kompresji takie jak ZIP, umożliwiające zmniejszenie rozmiaru plików nawet o 75 procent w stosunku do formatów binarnych używanych w starszych wersjach pakietu Office.

  • Łatwiejsze odzyskiwanie informacji i większe bezpieczeństwo. Format XML jest czytelny dla człowieka, dzięki czemu w przypadku uszkodzenia pliku można otworzyć go w programie Notatnik lub innym czytniku tekstu i odzyskać przynajmniej część informacji. Ponadto nowe pliki są bezpieczniejsze, ponieważ nie mogą zawierać kodu języka Visual Basic for Applications (VBA). W przypadku używania nowego formatu do tworzenia szablonów, wszelkie kontrolki ActiveX i makra języka VBA są przechowywane w osobnej, lepiej zabezpieczonej części pliku. Ponadto można używać narzędzi takich jak Inspektor dokumentów w celu usunięcia wszelkich danych osobowych. Aby uzyskać więcej informacji na temat korzystania z Inspektora dokumentów, zobacz Usuwanie danych ukrytych i informacji osobistych z dokumentów pakietu Office.

Na razie nie napotkaliśmy trudności — ale co zrobić, jeśli masz dane w formacie XML, a nie masz schematu? Programy pakietu Office obsługujące język XML ułatwiają Ci pracę z takimi danymi na różne sposoby. Na przykład program Excel automatycznie określa schemat, jeśli otworzysz plik XML bez schematu. Następnie masz możliwość załadowania tych danych do tabeli XML. Korzystając z list i tabel XML, można sortować i filtrować dane oraz dodawać do nich obliczenia.

Włączanie narzędzi języka XML w pakiecie Office

Karta Deweloper nie jest domyślnie wyświetlana — jeśli chcesz używać poleceń związanych z językiem XML w pakiecie Office, należy dodać ją do wstążki.

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×