---
title: "Co nowego w standardzie XML Schema 1.1?"
date: "2016-03-21"
categories: 
  - "development"
  - "tools"
  - "xml"
tags: 
  - "altova-online-training"
  - "xml-schema"
  - "xml-schema-1-1"
  - "xmlspy"
description: Odkryj kluczowe ulepszenia wprowadzone w standardzie XML Schema 1.1, w tym mechanizmy asercji i warunkowe alternatywy typów, które mają na celu zwiększenie elastyczności i poprawę procesu walidacji w rozwoju aplikacji XML.
---
Status: #blog

Tags:  #altova-online-training #xml-schema #xml-schema-1-1 #xmlspy

Categories: [development](/blog/pl/category/development.md) | [xml](/blog/pl/category/xml.md)
# 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](http://www.w3.org/TR/xmlschema11-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.

![shutterstock_137938508](/blog/images/shutterstock_137938508.jpg)

<!--more-->

### 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](https://www.altova.com/pl/aot/online-training.html), 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.

 

![Szkolenie z zakresu XML Schema 1.1](/blog/images/xml-schema-1-1-training.png)

 

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](https://www.altova.com/pl/xmlspy/xml-schema-editor.html).

### 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 <assert> 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:

![Asercje – widok graficzny](https://lh6.ggpht.com/-0AwouJhf1UA/UtREYaoYlRI/AAAAAAAAAbQ/YtTI7Z7spJI/clip_image003_thumb.png?imgmax=800 "Assertions - Graphical View")

 

A w odpowiadającym mu kodzie:

 

![Asercje w schemacie XML 1.1](https://lh4.ggpht.com/-3cHGIZ4GF6U/UtREbHVLWOI/AAAAAAAAAbg/iFpwT04A808/clip_image004_thumb.png?imgmax=800 "XML Schema 1.1 Assertions")

 

Ł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.

 

![Dodawanie asercji](https://lh5.ggpht.com/-p3B5JogWx24/UtREdQH_lkI/AAAAAAAAAbw/XZobzGyHc-M/clip_image005_thumb.png?imgmax=800 "Adding assertions")

 

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".

 

![Dialog dotyczący potwierdzania informacji](https://lh4.ggpht.com/-oKQlRSmEUjs/UtREfY8OlJI/AAAAAAAAAb8/4S0voU3k5B0/clip_image006_thumb.png?imgmax=800 "Assertion dialog")

 

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.

 

![Alternatywna forma wyrażenia warunkowego](https://lh3.ggpht.com/-iPc-_0cC1f4/UtREhR6JsxI/AAAAAAAAAcM/u0exmkn1Pk0/image_thumb.png?imgmax=800 "Conditional type alternative")

 

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](https://www.altova.com/pl/xmlspy/xml-schema-editor.html), 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".

 

![Alternatywne typy warunkowe w XSD 1.1](https://lh4.ggpht.com/--KlKrmowu-M/UtREis-NKcI/AAAAAAAAAcc/vECoVx9djRY/clip_image007_thumb.png?imgmax=800 "XSD 1.1 conditional type alternative")

 

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](https://www.altova.com/pl/xmlspy/xsd-editor.html) 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".

 

![Atrybuty dostępne dla całego schematu](https://lh5.ggpht.com/-kCqG7vqfWx8/UtREj-x9iMI/AAAAAAAAAcs/6cq-TJtaOG8/clip_image008_thumb.png?imgmax=800 "Schema-wide attributes")

 

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.

 

![Wybór grupy atrybutów](https://lh3.ggpht.com/-DjkS3RvyNDk/UtRElO-eQoI/AAAAAAAAAc8/Z3L23X4_hz4/clip_image009_thumb.png?imgmax=800 "Selecting an attribute group")

 

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](https://www.altova.com/pl/aot/online-training.html).

### Dodatkowe zasoby i narzędzia:

> [XML Schema 1.1 Recommendation](http://www.w3.org/XML/Schema) XMLSpy [XML Schema 1.1 Editor](https://www.altova.com/pl/xmlspy/xml-schema-editor.html) and [validator](https://www.altova.com/pl/xmlspy/xml-validator.html) RaptorXML [XML Schema 1.1 Validation Server](https://www.altova.com/pl/raptorxml.html) Free Online [XML Schema 1.1 Training](https://www.altova.com/pl/aot/online-training.html)
