Schemat XML

Schemat XML XSD
Charakterystyka
Rozbudowa .xsd
Typ MIME application/xml, text/xml
PUID x-fmt / 280
Podpis 3C( heksa )
Opracowany przez Konsorcjum World Wide Web
Oparte na Extensible Markup Language
Witryny internetowe www.w3.org/TR/xmlschema-0
www.w3.org/TR/xmlschema-1
www.w3.org/TR/xmlschema-2

Schemat XML , wydany jako zalecenie przez W3C w maju 2001 r. , Jest językiem opisu formatu dokumentu XML do definiowania struktury i typu zawartości dokumentu XML. Definicja ta umożliwia w szczególności sprawdzenie ważności tego dokumentu.

Organizację słowników o różnym pochodzeniu można opisać za pomocą przestrzeni nazw . Możliwe jest łączenie samych diagramów i wyrażanie kombinacji dla zawartego dokumentu, jak ktoś, kto mówi o geografii i socjologii w tym samym tekście.

Po walidacji można również dowiedzieć się, jakie informacje dotyczące reguły zostały przetestowane: jest to schemat po walidacji gry lub PSVI ( zbiór informacji po walidacji schematu ).

Definicja składa się z co najmniej jednego dokumentu XML, zwykle nazywanego ( definicja schematu XML w języku angielskim lub plik XSD ).

Wystąpienie schematu XML jest w pewnym sensie odpowiednikiem definicji typu dokumentu ( DTD ). Schemat XML ma jednak kilka różnic w porównaniu z DTD: pozwala na przykład zdefiniować domeny ważności dla wartości pola, podczas gdy nie jest to możliwe w DTD; z drugiej strony nie pozwala na definiowanie podmiotów  ; Schemat XML jest sam w sobie dokumentem XML, podczas gdy DTD to dokumenty SGML .

Ten język opisu treści dokumentu XML jest sam w sobie zdefiniowany przez schemat, którego tagi definicji samodzielnie zdefiniowane (jest to przykład definicji rekurencyjnej ).

Rekomendacja W3C 1.0 składa się z dokumentu prezentacyjnego (nienormatywnego), dokumentu określającego sposób definiowania struktury oraz dokumentu określającego sposób definiowania danych. Najnowsza edycja tego zalecenia, wersja 1.1, została opublikowana wkwiecień 2012.

Schemat XML modelu

Zalecenie określa walidację dokumentów XML z modelu abstrakcyjnego; zapewnia format XML.

W przypadku tego abstrakcyjnego modelu diagram to zestaw komponentów, takich jak:

Wprowadza również typ anyType (dowolny typ), który jest podstawą dla wszystkich używanych typów.

Każdy komponent jest otoczony przez jednostkę informacyjną w rozumieniu zalecenia W3C XML Information Set (znanego jako Infoset ).

Pod względem użytkowania schemat XML umożliwia definiowanie elementów i typów wartości według nazwy lub lokalnie w nazwanym kontekście. Połączenie tych dwóch trybów umożliwia zdefiniowanie czterech technik: tej znanej jako rosyjskie lalki (elementy są opisane przez dopasowanie ich do siebie), plastrów salami (globalne definicje elementów, ale lokalne dla typów), z żaluzjami (local definition elementów, ale globalna definicja typów), a od ogrodu Eden (globalnej definicji elementów i typów).

Schemat XML określa wyjątkowość jako kombinację węzłów w odniesieniu do kontekstu w odniesieniu do ich składników. W ten sposób możemy na przykład potwierdzić i zweryfikować, że dana osoba jest niepowtarzalna w kontekście katalogu, w odniesieniu do jej imienia i nazwiska.

Typy danych

Wbudowane typy danych to:

Przykład

Przykładowy plik XSD (person.xsd):

<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="personne"> <xs:complexType> <xs:sequence> <xs:element name="nom" type="xs:string" /> <xs:element name="prenom" type="xs:string" /> <xs:element name="date_naissance" type="xs:date" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

Następnie prawidłowy plik XML :

<?xml version="1.0" encoding="UTF-8"?> <personne xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="personne.xsd"> <nom>De Latour</nom> <prenom>Jean</prenom> <date_naissance>1967-08-13</date_naissance> </personne>

Wdrożenie Dublin Core

Schemat XML odpowiada wysokiemu poziomowi formalizacji w schematach klasyfikacji . Schemat XML służy do implementacji standardu Dublin Core dla metadanych .

Zobacz: Schematy XML obsługujące wytyczne dotyczące implementacji Dublin Core w zaleceniach XML

Te nazwy pozycji są oznaczone w następujący sposób:

<xs: element name = "title" type = "elementType" /> <xs: element name = "creator" type = "elementType" /> <xs: element name = "subject" type = "elementType" /> <xs: element name = "description" type = "elementType" /> <xs: element name = "publisher" type = "elementType" /> <xs: element name = "contributor" type = "elementType" /> <xs: element name = " date " type = "elementType" /> <xs: element name = "type" type = "elementType" /> <xs: element name = "format" type = "elementType" /> <xs: element name = " identifier " type = "elementType" /> <xs: element name = "source" type = "elementType" /> <xs: element name = " language " type = "elementType" /> <xs: element name = "relations" type = "elementType" /> <xs: element name = "Coverage" type = "elementType" /> <xs: element name = " rights " type = "elementType" />

Przykład użycia

Schemat XML jest używany w połączeniu z formularzami XForms do sprawdzania poprawności danych przy wprowadzaniu.

Historyczny

Schemat XML jest zwieńczeniem różnych propozycji pochodzących głównie od Microsoft we współpracy z Uniwersytetem w Edynburgu w 1998 roku. Wywodzi się z języka opisu SGML. Po znalezieniu ograniczeń DTD firma Microsoft zaproponowała użycie XML do opisywania dokumentów XML w formatach takich jak XML-Data lub Document Content Description i uzyskała wsparcie Uniwersytetu w Darmstadt (Niemcy) w 1999 roku. Wszystkie propozycje były zbieżne z pierwszą specyfikacją Schemat XML wcześnieMaj 2001.

Uwagi i odniesienia

  1. A Schema for Schemas (normatywny)
  2. (w) Wprowadzenie wzorców projektowych w schematach XML i (w) wzorcach projektowania schematów rosyjska lalka , (w) plasterek salami , (w) żaluzja i (w) rajski ogród
  3. Jean-Jacques Thomasson , XML Schema , Paryż, Eyrolles ,2002, 466  str. ( ISBN  2-212-11195-9 ) , str.  160-165
  4. Wbudowane typy danych, zalecenie schematu XML , W3C
  5. QName
  6. (w) Strony tytułowe: Schemat XML
  7. W3C zaleca XML Schema , komunikat prasowy W3C , 2 maja 2001 r

Bibliografia

  • Usługi sieciowe . Techniki, podejścia i narzędzia XML, WSDL, SOAP, UDDI, RosettaNet, UML. Hubert Kadima, Valérie Monfort, Dunod, 2003 .

Zobacz też

Powiązane artykuły

Linki zewnętrzne