Samouczek XML

Strona główna XML Wprowadzenie do XML XML Jak używać Drzewo XML Składnia XML Elementy XML Atrybuty XML Przestrzenie nazw XML Wyświetlacz XML Żądanie HTTP XML Parser XML XML DOM XML XPath XML XSLT XML XQuery XML XLink Walidator XML XML DTD Schemat XML Serwer XML Przykłady XML Quiz XML Certyfikat XML

XML AJAX

Wprowadzenie do AJAX AJAX XMLHttp Żądanie AJAX Odpowiedź AJAX Plik XML AJAX AJAX PHP ASP AJAX Baza danych AJAX Aplikacje AJAX Przykłady AJAX

XML DOM

Wprowadzenie do DOM Węzły DOM Dostęp do DOM Informacje o węźle DOM Lista węzłów DOM Przechodzenie DOM Nawigacja DOM DOM Uzyskaj wartości Zmiana węzłów DOM DOM Usuń węzły DOM Zamień węzły DOM Utwórz węzły DOM Dodaj węzły Węzły klonowania DOM Przykłady DOM

Samouczek XPath

Wprowadzenie do XPath Węzły XPath Składnia XPath Osie XPath Operatorzy XPath Przykłady XPath

Samouczek XSLT

Wprowadzenie XSLT Języki XSL Transformacja XSLT XSLT <szablon> XSLT <wartość-z> XSLT <dla każdego> XSLT <sortuj> XSLT <jeśli> XSLT <wybierz> XSLT Zastosuj XSLT na kliencie XSLT na serwerze XSLT Edytuj XML Przykłady XSLT

Samouczek XQuery

Wprowadzenie do XQuery Przykład XQuery XQuery FLWOR XQuery HTML Warunki XQuery Składnia XQuery XQuery Dodaj XQuery Wybierz Funkcje XQuery

XML DTD

Wprowadzenie do DTD Bloki konstrukcyjne DTD Elementy DTD Atrybuty DTD Elementy DTD a Attr Jednostki DTD Przykłady DTD

Schemat XSD

Wprowadzenie do XSD XSD Jak to zrobić XSD <schemat> Elementy XSD Atrybuty XSD Ograniczenia XSD

Kompleks XSD

Elementy XSD XSD Pusty Tylko elementy XSD Tylko tekst XSD Mieszane XSD Wskaźniki XSD XSD <dowolny> XSD <dowolnyAtrybut> Zastąpienie XSD Przykład XSD

Dane XSD

XSD ciąg Data XSD Numeryczne XSD XSD Różne Odniesienie XSD

Usługi internetowe

Usługi XML XML WSDL MYDŁO XML XML RDF XML RSS

Bibliografia

Typy węzłów DOM Węzeł DOM Lista węzłów DOM DOM NamedNodeMap Dokument DOM Element DOM Atrybut DOM Tekst DOM DOM CDATA Komentarz DOM DOM XMLHttpRequest Analizator DOM Elementy XSLT Funkcje XSLT/XPath

Samouczek schematu XML


Co to jest schemat XML?

Schemat XML opisuje strukturę dokumentu XML.

Język XML Schema jest również określany jako XML Schema Definition (XSD).

Przykład XSD

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="to" type="xs:string"/>
      <xs:element name="from" type="xs:string"/>
      <xs:element name="heading" type="xs:string"/>
      <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>

Celem schematu XML jest zdefiniowanie prawnych bloków konstrukcyjnych dokumentu XML:

  • elementy i atrybuty, które mogą pojawić się w dokumencie
  • liczba (i kolejność) elementów podrzędnych
  • typy danych dla elementów i atrybutów
  • domyślne i stałe wartości dla elementów i atrybutów

Dlaczego warto uczyć się schematu XML?

W świecie XML na co dzień używane są setki standardowych formatów XML.

Wiele z tych standardów XML jest zdefiniowanych przez schematy XML.

XML Schema to oparta na XML (i bardziej wydajna) alternatywa dla DTD.



Schematy XML obsługują typy danych

Jedną z największych zalet schematów XML jest obsługa typów danych.

  • Łatwiej jest opisać dopuszczalną treść dokumentu
  • Łatwiej jest zweryfikować poprawność danych
  • Łatwiejsze definiowanie aspektów danych (ograniczenia danych)
  • Łatwiej jest zdefiniować wzorce danych (formaty danych)
  • Łatwiej jest konwertować dane między różnymi typami danych

Schematy XML wykorzystują składnię XML

Kolejną wielką zaletą schematów XML jest to, że są napisane w języku XML.

  • Nie musisz uczyć się nowego języka
  • Możesz użyć edytora XML do edycji plików schematów
  • Możesz użyć parsera XML, aby przeanalizować pliki schematów
  • Możesz manipulować swoim schematem za pomocą XML DOM
  • Możesz przekształcić swój schemat za pomocą XSLT

Schematy XML są rozszerzalne, ponieważ są napisane w XML.

Dzięki rozszerzalnej definicji schematu możesz:

  • Użyj ponownie swojego schematu w innych schematach
  • Twórz własne typy danych wywodzące się z typów standardowych
  • Odwołaj się do wielu schematów w tym samym dokumencie

Schematy XML Bezpieczna komunikacja danych

Podczas przesyłania danych od nadawcy do odbiorcy ważne jest, aby obie części miały takie same „oczekiwania” dotyczące treści.

Dzięki schematom XML nadawca może opisać dane w sposób zrozumiały dla odbiorcy.

Data taka jak: „03-11-2004” będzie w niektórych krajach interpretowana jako 3.listopada, a w innych jako 11.marca.

Jednak element XML o takim typie danych:

<date type="date">2004-03-11</date>

zapewnia wzajemne zrozumienie treści, ponieważ typ danych XML „data” wymaga formatu „RRRR-MM-DD”.


Dobrze uformowany to za mało

Prawidłowo sformatowany dokument XML to dokument zgodny z regułami składni XML, takimi jak:

  • musi zaczynać się od deklaracji XML
  • musi mieć jeden unikalny element główny
  • tagi startowe muszą mieć pasujące tagi końcowe
  • w elementach rozróżniana jest wielkość liter
  • wszystkie elementy muszą być zamknięte
  • wszystkie elementy muszą być odpowiednio zagnieżdżone
  • wszystkie wartości atrybutów muszą być cytowane
  • encje muszą być użyte dla znaków specjalnych

Nawet jeśli dokumenty są dobrze sformułowane, nadal mogą zawierać błędy, a te błędy mogą mieć poważne konsekwencje.

Pomyśl o następującej sytuacji: zamawiasz 5 brutto drukarek laserowych zamiast 5 drukarek laserowych. W przypadku schematów XML większość tych błędów może zostać wyłapana przez oprogramowanie weryfikacyjne.