Co nowego w standardzie XML Schema 1.1?

Od momentu wprowadzenia standardu XML Schema 1.0, został on szeroko przyjęty. Przez lata, programiści zgłaszali szereg propozycji zmian, z których najważniejszą była możliwość definiowania i weryfikowania bardziej szczegółowych reguł biznesowych, a także umożliwienie elastycznej ewolucji schematów. Dokument Rekomendacja XML Schema 1.1 zawiera liczne zmiany i ulepszenia, mające na celu rozwiązanie tych problemów.

Przyjrzyjmy się najważniejszym nowym funkcjom oraz zasobom, które pomogą Państwu dowiedzieć się więcej o XML Schema 1.1 lub zacząć z nim pracę od razu.

Poznajcie nowości w standardzie XML Schema 1.1

W naszym bezpłatnym materiale znajdą Państwo szczegółowe wyjaśnienie nowych i ulepszonych funkcji w standardzie XML Schema 1.1 Kurs online z zakresu schematów XML, Do których można uzyskać dostęp w dowolnym momencie i które można ukończyć we własnym tempie. Jeśli są Państwo doświadczonymi twórcami schematów i chcą jedynie zapoznać się z nowościami i ulepszeniami w XSD 1.1, przejdźcie bezpośrednio do rozdziału 9. Ten kurs to doskonały sposób na poznanie XML Schema 1.1 i szybkie dostosowanie swoich schematów, aby wykorzystać nowe funkcje.

W tym artykule wyjaśnię kilka kluczowych aspektów i pokażę, jak można wdrożyć nowe funkcje za pomocą programu XMLSpy. Kompletne wsparcie dla standardu XML Schema 1.1 jest dostępne w wersjach XMLSpy od 2014 roku i nowszych, obejmując weryfikację plików XSD i instancji XML w oparciu o standard XML Schema 1.1, a także zaawansowane narzędzia do edycji plików XSD 1.1 w graficznym edytorze XML Schema 1.1.

Stwierdzenia

Asercje, zwane również ograniczeniami współzależności, w standardzie XML Schema 1.1 umożliwiają sprawdzanie zgodności z zasadami biznesowymi, które dotyczą więcej niż jednego elementu. Zasady te są definiowane za pomocą wyrażeń XPath. Na przykład, można użyć nowego elementu do sprawdzenia, czy kwota wydatku jest mniejsza lub równa dopuszczalnej wartości, czy data znajduje się w określonym przedziale czasowym, i tak dalej. W tym przykładzie asercja określa, że czas zakończenia spotkania musi być większy niż czas rozpoczęcia. Można to zobaczyć w widoku projektowania schematu XML:

A w odpowiadającym mu kodzie:

Łatwo jest przeglądać definicje (asercje) zawarte w schemacie, korzystając z widoku "Globalne", który oferuje zakładkę "Asercje" dla dokumentów XML Schema 1.1. Można również dodawać nowe definicje oraz wybierać domyślną przestrzeń nazw XPath w tym miejscu.

Można je również zdefiniować w widoku modelu treści, klikając prawym przyciskiem myszy na elemencie w tym widoku i wybierając opcję "Dodaj podrzędne założenie". Test XPath można zdefiniować bezpośrednio w modelu treści za pomocą okna pomocniczego "Szczegóły".

Możliwość definiowania i weryfikacji reguł biznesowych to jedna z głównych zalet standardu XML Schema 1.1, a ten graficzny interfejs pomaga w prowadzeniu przez cały proces.

Alternatywne formy zdań warunkowych

Alternatywne typy warunkowe to kolejna funkcja, która ma na celu zwiększenie możliwości plików XSD poprzez dodanie wbudowanej elastyczności. Pozwalają one na dynamiczne przypisywanie typu do elementu w oparciu o wartość atrybutu w dokumencie XML. Element xs:alternative posiada dwa atrybuty: type i test. Poniżej znajduje się przykład wykorzystujący schemat "Meeting", o którym wspomnieliśmy wcześniej.

Jeśli godzina zakończenia spotkania przypada przed południem, typ spotkania to "PoranneSpotkanie". Po południu, typ spotkania to "PopołudnioweSpotkanie". Aby to zdefiniować w Projektant schematów XML, Po prostu klikamy prawym przyciskiem myszy na elemencie "Meeting" i wybieramy opcję "Dodaj element potomny / alternatywny". Używamy narzędzia pomocniczego "Szczegóły", aby wprowadzić wyrażenie XPath, a następnie wybieramy typ, który zostanie dynamicznie przypisany do tego elementu, korzystając z rozwijanej listy "Typ".

Teraz, każdy element "Meeting" w instancji XML, który ma czas zakończenia po godzinie 12:00:00, będzie korzystał z typu "MeetingType AfternoonMeeting". Użycie graficznego edytora XSD ułatwia wizualizację i konfigurację tych relacji.

Atrybuty ogólnodostępne dla schematu

Schemat XML 1.1 umożliwia zdefiniowanie zestawu domyślnych atrybutów, które automatycznie stosują się do każdego złożonego typu w schemacie. Na przykład, w naszym schemacie "Meeting", przydatne jest, aby atrybuty "startTime" i "endTime" były stosowane do wszystkich elementów, bez konieczności ich ręcznego dodawania, co jest czasochłonne i może prowadzić do błędów – zwłaszcza w schemacie z dużą liczbą elementów. Element "xs:schema" w schemacie XML 1.1 posiada opcjonalny element "defaultAttributes", który identyfikuje grupę atrybutów. (Jeśli istnieje konkretny element, do którego nie chcemy stosować domyślnych atrybutów, można to określić za pomocą atrybutu "defaultAttributesApply="false".) Dodanie grupy atrybutów i zdefiniowanie domyślnych atrybutów jest łatwe w edytorze schematów XML, w widoku "Globals".

Następnie, użyj okna dialogowego "Ustawienia schematu", do którego można uzyskać dostęp z menu "Projektowanie schematu", aby wybrać utworzoną właśnie grupę atrybutów jako domyślne atrybuty z listy rozwijanej.

Powyżej znajdują się niektóre z najważniejszych nowości wprowadzonych przez standard XML Schema 1.1. Oprócz tego, standard oferuje m.in. atrybuty dziedziczone, rozszerzone funkcjonalności dla grup zastępczych, typ danych xs:error oraz inne ulepszenia. Wszystkie te zmiany są szczegółowo opisane wraz z przykładami zastosowania w rzeczywistych plikach w rozdziale 9 kursu online poświęconego standardowi XML Schema.

Dodatkowe zasoby i narzędzia:

XML Schema 1.1 Recommendation XMLSpy XML Schema 1.1 Editor and validator RaptorXML XML Schema 1.1 Validation Server Free Online XML Schema 1.1 Training