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 są 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.
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.
Wbudowane typy danych to:
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>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" />Schemat XML jest używany w połączeniu z formularzami XForms do sprawdzania poprawności danych przy wprowadzaniu.
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.