Komputery Okna Internet

Schemat XML to opis struktury dokumentów XML. Utwórz plik XML Prosty przykład schematu XML

Czasami zrozumienie Plik XML, wysłany do komory katastralnej jest po prostu konieczny, gdy czujesz, że gdzieś trzeba coś naprawić, a u wielu rozwija się naturalna ciekawość. Ale... Ważne. Pamiętaj, że po podpisaniu pliku EDS nie możesz edytować pliku XML! Jako przykład z praktyki, dzieląc fabułę 300 pamięci, dziewczyna przypadkowo skasowała tylko jedną linijkę adresu z jednej z fabuł. I to tyle.. Plik XML nie przeszedł walidacji. Przeszukiwanie programu przez wszystkie rekordy wydawało mi się nużące, im bardziej wiedziałem, czego szukać. Po otwarciu pliku XLM w edytorze testów z wyszukiwaniem znalazłem wymaganą linię i wprowadziłem zmiany. Ale znowu powtarzam - jeśli edytowałeś plik, musisz ponownie podpisać go za pomocą EDS. Więc zacznijmy. Przedstawię rysunki i opiszę je.

I jeszcze jedno odosobnienie, do edycji i wygodnego przeglądania plików XML Polecam korzystanie z programu. Pozwoli to zobaczyć strukturę pliku i wygodnie pokolorować go według wartości. Na przykład wezmę elektryczny podgrzewany wieszak na ręczniki do łazienki, cóż, oczywiście nie jego -), ale utworzenie pliku XML 2 jednostek magazynowych poprzez przydzielenie udziału we wspólnej własności jednostki magazynowej z numerem katastralnym… .
Jako przykład pokażę najpierw zdjęcie zwiniętego pliku XML z jednym zwiniętym blokiem.

Tak więc, sądząc po liczniku linii po lewej, mamy plik z 336 liniami. Jak widać na rysunku, blok Zwinięty, znak plus po prawej stronie. Dlatego najpierw opiszę wiersz po wierszu, co widać z tego rysunku, a następnie przeanalizujemy bloki zawarte w bloku Ponieważ jest najbardziej obszerny.

Nie będziemy rozpatrywać całego pliku wiersz po wierszu, ale tylko te wiersze, w których wprowadzone są nasze dane.

3 linie : CodeType = "014" - rodzaj pracy, są tylko dwa, tak jak w naszym przypadku - wykształcenie i "015" - doprecyzowanie. Wersja = "03" - Wersja XML plik. GUID (Globally Unique Identifier) ​​to statystycznie unikalny 128-bitowy identyfikator, w naszym przypadku nazwa pliku musi być zgodna z tym wskaźnikiem.
4 linie : Dane organizacji, w której pracuje inżynier katastralny, lub dane samego inżyniera katastralnego.
5 linii : Kod organizacji beneficjenta, w tym przypadku Zarządzanie Służba Federalna rejestracja państwowa, kataster i kartografia w Republice Tatarstanu.

Teraz przejdźmy od razu do końca pliku na podstawie przedstawionego rysunku i rozważmy blok ... Ten blok zawiera informacje o inżynier katastralny kto wykonywał pracę. Następnie pojawia się blok, w którym mieści się układ współrzędnych. przy okazji & cytatw wartościach pliku tekstowego oznacz cudzysłowy.

W zasadzie otwierając plik w Notepad ++, cała struktura pliku XML staje się klarowna. - Lokalizacja - zawiera adres. Wartość w napisane, gdy nie ma części adresu do KLADR.

Przykład pliku XML mapy planu wygenerowanego w Produkt oprogramowania Plan mapy wielokątów

Aby uzyskać jak najbardziej wizualny widok tego fragmentu, skopiuj go i obejrzyj w edytorze testowym Notepad++, który możesz pobrać z sekcji

Biorąc środki na cel, ludzie popadają w rozczarowanie sobą i innymi, przez co nic nie wynika z ich wszystkich działań, ani nie jest przeciwieństwem tego, do czego dążyli.I. Goethego

Format XML jest przeznaczony do przechowywania danych, które mogą być przydatne w pracy niektórych programów, witryn i obsługi niektórych języków znaczników. Utworzenie i otwarcie pliku w tym formacie nie jest trudne. Można to zrobić, nawet jeśli na komputerze nie zainstalowano żadnego specjalistycznego oprogramowania.

Sam XML jest językiem znaczników, nieco podobnym do HTML, który jest używany na stronach internetowych. Ale jeśli ten ostatni jest używany tylko do wyświetlania informacji i ich poprawnego oznaczania, to XML pozwala na jego strukturę w określony sposób, co czyni ten język czymś w rodzaju analogu bazy danych, która nie wymaga DBMS.

Możesz tworzyć pliki XML zarówno za pomocą specjalistycznych programów, jak i wbudowanych Tekst systemu Windows redaktor. Wygoda pisania kodu i poziom jego funkcjonalności zależą od rodzaju używanego oprogramowania.

Metoda 1: Visual Studio

Zamiast tego edytora kodu firmy Microsoft możesz użyć dowolnego z jego odpowiedników innych programistów. W rzeczywistości Visual Studio jest bardziej zaawansowaną wersją standardowego „Notatnik”... Kod posiada teraz specjalne podświetlanie, błędy są podświetlane lub poprawiane automatycznie, a do programu są już wczytane specjalne szablony, które pozwalają uprościć tworzenie dużych plików XML.

Aby rozpocząć, musisz utworzyć plik. Kliknij na przedmiot "Plik" na górnym pasku iz rozwijanego menu wybierz "Tworzyć…"... Lista otworzy się tam, gdzie wskazany jest element "Plik".

  • Zostaniesz przeniesiony do okna z wyborem odpowiednio rozszerzenia pliku, wybierz element "Plik XML".
  • Nowo utworzony plik będzie już miał pierwszą linię z kodowaniem i wersją. Domyślnie jest to pierwsza wersja i kodowanie UTF-8 które możesz zmienić w dowolnym momencie. Następnie, aby utworzyć pełnoprawny plik XML, musisz zarejestrować wszystko, co było w poprzedniej instrukcji.

    Po zakończeniu wybierz ponownie z górnego paska "Plik", a tam z menu rozwijanego "Zapisz wszystko".

    Metoda 2: Microsoft Excel

    Możesz utworzyć plik XML bez pisania kodu, na przykład korzystając z nowoczesnych wersji programu Microsoft Excel, który pozwala zapisywać tabele za pomocą tego rozszerzenia. Musisz jednak zrozumieć, że w tym przypadku nie będziesz w stanie stworzyć czegoś bardziej funkcjonalnego niż zwykły stół.

    Ta metoda jest bardziej odpowiednia dla tych, którzy nie chcą lub nie wiedzą, jak pracować z kodem. Jednak w takim przypadku użytkownik może napotkać pewne problemy podczas przepisywania pliku do formatu XML. Niestety, operację konwersji zwykłej tabeli do formatu XML można wykonać tylko w najnowszych wersjach MS Excel. Aby to zrobić, skorzystaj z następujących instrukcji krok po kroku:


    Metoda 3: Notatnik

    Nawet zwykły jest odpowiedni do pracy z XML. "Zeszyt", jednak użytkownik, który nie jest zaznajomiony ze składnią języka, będzie miał trudności, ponieważ trzeba w nim napisać różne polecenia i znaczniki. Proces będzie nieco prostszy i znacznie bardziej produktywny w wyspecjalizowanych programach do edycji kodu, na przykład w Microsoft Visual Studio. Posiadają specjalne podświetlanie tagów i podpowiedzi, co znacznie ułatwia pracę osobie, która nie zna składni tego języka.

    W przypadku tej metody nie musisz niczego pobierać, ponieważ w system operacyjny już wbudowany "Zeszyt"... Spróbujmy zrobić w nim prostą tabelę XML według podanych instrukcji:


    Gotowy wynik powinien wyglądać mniej więcej tak:




    25
    Prawdziwe


    Kompilatory XML muszą przetwarzać ten kod w postaci tabeli z jedną kolumną, która zawiera dane o pewnym Iwanie Iwanowie.

    V „Notatnik” całkiem możliwe jest tworzenie takich prostych tabel, ale przy tworzeniu bardziej obszernych tablic danych mogą pojawić się trudności, ponieważ w zwykłym „Notatnik” nie ma funkcji poprawiania błędów w kodzie lub ich wyróżniania.

    Jak widać, nie ma nic trudnego w tworzeniu pliku XML. W razie potrzeby może go utworzyć każdy użytkownik, który mniej więcej wie, jak pracować na komputerze. Jednak, aby stworzyć pełnoprawny plik XML, zaleca się nauczenie tego języka znaczników, przynajmniej na podstawowym poziomie.

    W tym rozdziale dowiesz się, jak pisać schematy XML. Dowiesz się również, że diagramy można pisać na wiele różnych sposobów.

    Dokument XML

    Rzućmy okiem na następujący dokument XML o nazwie „shiporder.xml”:

    John Smith Ola Nordmann

    Długość 23
    4000 Stavanger Norwegia Imperium burleska Specjalna edycja 1 10.90 Ukryj swoje serce 1 9.90

    Powyższy dokument XML składa się z elementu głównego zlecenie wysyłkowe z wymaganym atrybutem identyfikator zamówienia ... Element zlecenie wysyłkowe zawiera troje dzieci: osoba zamawiająca, Dostawa do oraz przedmiot... Element przedmiot jest używany dwukrotnie i zawiera element tytuł, element opcjonalny Notatka jak również elementy Ilość oraz Cena £.

    Linia xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instancja" informuje parser XML, że ten dokument powinien zostać zweryfikowany względem schematu. Linia xsi: noNamespaceSchemaLocation = "zamówienie wysyłkowe.xsd" określa, gdzie znajduje się schemat (w tym przypadku jest to ten sam folder, co plik „shiporder.xml”).

    Tworzenie schematu XML

    Teraz utwórzmy schemat XML dla powyższego dokumentu XML.

    Stwórzmy nowy plik który nazwiemy "shiporder.xsd". Aby utworzyć schemat XML, po prostu prześledzimy strukturę dokumentu XML i zdefiniujemy każdy napotkany element. Zacznijmy od standardowej deklaracji XML, po której następuje element xs: schemat , który definiuje sam schemat:

    ...

    Tutaj używamy standardowej przestrzeni nazw ( xs ) i identyfikator URI powiązany z tą przestrzenią nazw, który ma wartość domyślną http://www.w3.org/2001/XMLSchema .

    Teraz musimy zdefiniować element zlecenie wysyłkowe... Ten element posiada atrybut i zawiera inne elementy, dlatego traktujemy go jako element typu złożonego. Definicje elementów podrzędnych zlecenie wysyłkowe umieścić w deklaracji xs: sekwencja , który definiuje sztywną sekwencję podelementów:

    ...

    Teraz zdefiniujmy element osoba zamawiająca który będzie typu prostego (ponieważ nie zawiera żadnych atrybutów ani innych elementów). Jego typ ( xs: ciąg ) jest poprzedzony przestrzenią nazw powiązaną ze schematem XML, co wskazuje na użycie predefiniowanego typu danych:

    Teraz musimy zdefiniować: Dostawa do oraz przedmiot... Zacznijmy od zdefiniowania elementu Dostawa do:

    Za pomocą diagramów możemy zdefiniować dowolny element. Atrybuty nam w tym pomogą. maxWystępuje oraz minWystępuje ... Atrybut maxWystępuje określa maksymalną liczbę wystąpień elementu, a atrybut minWystępuje określa minimalną liczbę wystąpień. Domyślnie wartość obu atrybutów wynosi 1.

    Teraz zdefiniujmy element przedmiot... Ten element może być używany nieograniczoną liczbę razy w elemencie. zlecenie wysyłkowe... Określ taką cechę elementu przedmiot umożliwia przypisanie do atrybutu maxWystępuje oznaczający "bezgraniczny" ... Oznacza to, że element przedmiot może być używany tyle razy, ile potrzebuje autor dokumentu. Zauważ, że element Notatka opcjonalny. Definiujemy to poprzez ustawienie atrybutu minWystępuje do zera:

    Teraz możemy zadeklarować atrybut elementu zlecenie wysyłkowe... Ponieważ jest to wymagany atrybut, używamy definicji użyj = "wymagane" .

    Uwaga: Atrybuty należy zawsze deklarować jako ostatnie:

    Oto pełny kod pliku schematu „shiporder.xsd”:

    Dzielenie schematu

    Poprzednia metoda rozmieszczenia schematu jest dość prosta, jednak gdy dokument jest dość złożony, ta metoda może sprawić, że odpowiedni schemat będzie dość nieporęczny, co znacznie wpłynie na jego czytelność i łatwość utrzymania.

    Następnym sposobem rozplanowania schematu jest najpierw zdefiniowanie wszystkich elementów i atrybutów, a następnie odwołanie się do tych definicji za pomocą atrybutu ref .

    Oto nowy układ pliku schematu ("shiporder.xsd"):

    Korzystanie z nazwanych typów

    Trzeci sposób układania schematu obejmuje definiowanie klas lub typów, które umożliwiają ponowne użycie definicji elementów członkowskich. Staje się to możliwe dzięki nadaniu nazw żywiołom prosteTypy oraz ComplexTypes a następnie wskaż je za pomocą atrybutu rodzaj .

    Trzeci sposób połączenia pliku schematu ("shiporder.xsd"):

    Element ograniczenie wskazuje, że typ danych pochodzi z typów danych w przestrzeni nazw schematu XML W3C. Zatem poniższy fragment kodu oznacza, że ​​wartość elementu lub atrybutu musi być ciągiem:

    Jednak znacznie częściej żywioł ograniczenie służy do nakładania ograniczeń na elementy. Spójrz na następujące linie z powyższego diagramu:

    Ten fragment kodu określa, że ​​wartość elementu lub atrybutu musi być ciągiem o długości dokładnie sześciu znaków i że te znaki muszą być cyframi od 0 do 9.

    We wszystkich poniższych przykładach używany jest standard języka XSL. Szeroko stosowana jest również bardziej nowoczesna modyfikacja tego standardu, język XSL. T, więcej szczegółów można przeczytać w \ xml \ XSLTutorial lub MSDN.

    Rzućmy okiem na prosty przykładowy plik XML (ex01.xml). Ten i inne przykłady można znaleźć w folderze \ xml \ XSLTForBeginers na dysku.



    Notatki XSL

    Jeśli otworzymy ten plik w przeglądarka internetowa Explorer, zobaczymy ten sam tekst, który jest pokazany powyżej, wraz ze wszystkimi tagami i informacjami o usłudze. Ale nie potrzebujemy tagów i informacji serwisowych! Chcemy widzieć tylko te informacje, które są istotne dla sprawy, a za pomocą tagów - zarządzać wygląd zewnętrzny ta informacja. To zadanie można rozwiązać łatwo i prosto: musisz dodać szablon transformacji - plik XSL - do pliku XML.

    Przepiszmy nasz plik XML w następujący sposób (ex01-1.xml).




    Notatki XSL

    I utwórz plik XSL ex01-1.xsl. Tekst pliku pokazano poniżej.






    Jeśli teraz otworzymy plik ex01-1.xsl w przeglądarce Internet Explorer, wtedy zobaczymy, że nasze zadanie zostało rozwiązane - na ekranie pozostały tylko potrzebne nam informacje, wszystkie tagi zniknęły. Wynik uzyskany na ekranie przeglądarki jest pokazany poniżej.

    Notatki XSL

    Łatwo też zauważyć, że kolejność wyprowadzania wierszy jest określona tylko przez zawartość szablonu przekształcenia - pliku XSL. W razie potrzeby szablon można łatwo zmienić bez zmiany naszego głównego pliku XML.

    Przepiszmy plik XML. Nie zmienimy części informacyjnej, ale podamy inny szablon ex01-2.xml.




    Notatki XSL

    Utwórzmy plik XSL ex01-2.xsl. Tekst pliku pokazano poniżej.






    Jeśli teraz otworzymy plik ex01-2.xsl w Internet Explorerze, wynik będzie inny.

    Notatki XSL

    Zwróćmy teraz uwagę na moment, który jest kluczowy dla programistów baz danych. Informacje na stronie XML zwykle pojawiają się w wyniku zapytania do bazy danych. Wykonywanie zapytań do bazy danych w środowisku wielu użytkowników jest bardzo kosztowne. Załóżmy teraz, że nie mamy XML i generujemy standardowe statyczne strony HTML. W tym przypadku, aby rozwiązać problem prostej transformacji zewnętrznej reprezentacji informacji, na przykład zmienić sortowanie, mamy dwa sposoby rozwiązania problemu: wykonanie zapytania i przechowywanie wyników w jakimś tymczasowym buforze na serwerze, lub za każdym razem, gdy zmienia się reprezentacja zewnętrzna, wykonaj nowe zapytanie i ponownie wygeneruj stronę HTML.

    Pierwsza metoda wymaga pracochłonnego programowania, druga znacznie zwiększa obciążenie serwera bazodanowego, którego wydajność jest często wąskim gardłem systemu - użytkownik zawsze chce szybciej uzyskać wyniki.

    XML i XSL zapewniają kompleksowe rozwiązanie opisanego powyżej problemu. W rzeczywistości strona XML jest tymczasowym buforem dla wyników zapytania. Tylko zamiast niestandardowego i czasochłonnego programowania stosujemy teraz standardowy mechanizm XSL.

    Jest jeszcze jedna kwestia, która może mieć znaczenie dla programistów baz danych. Większość nowoczesnych DBMS może sformatować wyniki zapytania do bazy danych jako plik XML. Oznacza to, że budując interfejs użytkownika w ramach technologii XML i XSL, uzyskujemy pewną niezależność od dostawcy DBMS. Pod względem organizacyjnym odwrotu - prawie całkowita samodzielność. A ta część jest dość duża w większości aplikacji zorientowanych na bazy danych. Oczywiście oprócz danych wyjściowych jest też przetwarzanie danych wejściowych i serwerowych logiki biznesowej, ale tutaj trzeba będzie poszukać innych rozwiązań.

    Pierwsze kroki

    Przyjrzyjmy się teraz bardziej szczegółowo pierwszemu przykładowi. Przypomnijmy jej tekst.



    Notatki XSL

    Pierwsza linia informuje przeglądarkę, że plik jest w formacie XML. Atrybut wersji jest wymagany. Atrybut kodowania jest opcjonalny, ale jeśli masz w tekście rosyjskie litery, musisz wstawić ten atrybut, w przeciwnym razie plik XML po prostu nie zostanie przetworzony - otrzymasz komunikat o błędzie.

    Poniższe wiersze stanowią treść pliku XML. Składa się z elementów, które razem tworzą strukturę drzewiastą. Elementy są identyfikowane za pomocą tagów i mogą być zagnieżdżane w sobie.

    Elementy mogą posiadać atrybuty, których wartości również mogą być przetwarzane zgodnie z szablonem.

    Na najwyższym poziomie pliku XML zawsze znajduje się jeden element. Czyli plik formularza



    Notatki XSL



    „Wprowadzenie do CSP”

    nie będą przetwarzane przez przeglądarkę. Aby przekonwertować do prawidłowego pliku XML, musisz dodać tagi elementów Najwyższy poziom, na przykład




    Notatki XSL



    „Wprowadzenie do CSP”


    Pamiętaj, że w nazwach tagów rozróżniana jest wielkość liter. Więcej na ten temat można przeczytać w dowolnej książce poświęconej elementom i atrybutom XML; książki te poświęcają wiele uwagi.

    Przejdźmy do szablonu transformacji - pliku XSL. Zadaniem pliku XSL jest przekształcenie drzewa pliku XML w inne drzewo, które na przykład będzie zgodne z formatem HTML i będzie mogło być wyświetlane na ekranie przeglądarki z uwzględnieniem formatowania, doboru czcionek itp.

    Aby przeglądarka wykonała niezbędną transformację, musisz podać link do pliku XSL w pliku XML


    Spójrzmy teraz na tekst pliku XSL






    Pierwszy wiersz pliku zawiera znacznik elementu xsl: stylesheet. Atrybuty elementu to numer wersji i odwołanie do przestrzeni nazw. Te atrybuty elementu arkusza stylów xsl: są wymagane. W naszym przypadku przestrzeń nazw to wszystkie nazwy elementów i ich atrybuty, których można użyć w pliku XSL. W przypadku plików XSL odniesienie do przestrzeni nazw jest standardowe.

    Zauważ, że plik XSL jest typem pliku XML. Nie zawiera danych użytkownika, ale format jest taki sam. Plik zawiera element najwyższego poziomu xsl: arkusz stylów, po którym następuje drzewo reguł transformacji.

    W tym dokumencie nie wyjaśnimy szczegółowo, co oznacza każdy element pliku XSL. Podamy różne przykłady i pokażemy wynik w każdym przykładzie, co umożliwi niezależne mapowanie różnych elementów pliku XSL i przekształceń oryginalnego pliku XML z informacjami o użytkowniku zainicjowanymi przez te elementy. Zwróć też uwagę, że wartość atrybutu Wybierz i podobne o znaczeniu „wybierz” są napisane w specjalnym języku XPath, o którym w skrócie można przeczytać na dysku \xml\XPathTutorial, a bardziej szczegółowo w MSDN.

    W dalszej części przedstawimy czarno-białe teksty plików XML i XSL. Zawsze możesz otworzyć prawdziwy plik i zobaczyć wszystko w kolorze. W razie potrzeby skomentuj łącze do pliku XSL. Składnia komentarza jest następująca:... Nie można wstawiać symboli - do tekstu komentarza.

    W pierwszym przykładzie zobaczyliśmy, jak element xsl: value-of może być użyty do wyświetlenia zawartości elementu (tekstu zawartego między tagami) w formacie HTML. Teraz zobaczymy, jak ten sam element może być użyty do wyświetlenia wartości atrybutu elementu.

    Rozważ następujący plik XML ex02-1.xml

    W poprzednim artykule na temat XML przyjrzeliśmy się takiemu przestarzałemu sposobowi walidacji dokumentów XML, XML DTD. Ta metoda jest nadal używany do walidacji danych XML, ale z dnia na dzień jest coraz częściej zastępowany Nowa technologia zwany schematem XML. Naprawiono wiele niedociągnięć w schematach XML, które były w DTD XML, i tak dalej ten moment wszyscy wiodący programiści używają tylko schematów XML do walidacji dokumentów.

    Aby docenić zalety XML Schema nad DTD, przyjrzyjmy się bliżej głównym słabościom DTD, które zostały z powodzeniem poprawione w XML Schemas. Wspomniałem o nich już w artykule „”, ale dla lepszego zrozumienia powtórzmy.

    Wady XML DTD w porównaniu z XML Schema

    1. Składnia języka inna niż XML. Oznacza to, że DTD nie jest XML. Może to prowadzić do różnych problemów z kodowaniem i weryfikacją dokumentów XML.
    2. Brak sprawdzania typu danych. W DTD XML istnieje tylko jeden typ danych — ciąg. W związku z tym, na przykład, jeśli w polu numerycznym znajduje się tekst, dokument nadal będzie weryfikowany, ponieważ DTD XML nie może sprawdzić typu danych.
    3. Nie można odwzorować więcej niż jednego opisu DTD na pojedynczy dokument XML. Oznacza to, że dokument można zweryfikować za pomocą tylko jednego opisu DTD. Jeśli jest ich kilka, to będziesz musiał przerobić opisy i połączyć wszystko w jeden plik, co jest bardzo niewygodne.

    Były to główne wady XML DTD, które zostały z powodzeniem skorygowane w branżowym standardzie opisu dokumentów XML, XML Schema.

    XML Schema - branżowy standard opisu dokumentów XML

    W skrócie XML Schema wykonuje następujące czynności:

    1. Opisuje nazwy elementów i atrybutów (słownik).
    2. Opisuje relacje między elementami i atrybutami oraz ich strukturę (model treści).
    3. Opisuje typy danych.

    Zaznaczam też, że w tej chwili za pomocą diagramów można opisać prawie wszystko. Oznacza to, że schemat to uniwersalny sposób opisu gramatyki danych, który można wykorzystać nie tylko do weryfikacji dokumentów XML, ale także do opisywania baz danych itp. Tym samym zakres stosowania schematów jest w tej chwili bardzo szeroki.

    Przykład schematu XML do walidacji dokumentów XML

    Jak pokazuje praktyka, materiał jest znacznie lepiej przyswajany, jeśli natychmiast zaczniesz uczyć się na przykładach. Muszę od razu powiedzieć, że nie zagłębimy się we wszystkie subtelności, ponieważ materiał jest bardzo złożony, zwłaszcza jeśli przestudiujesz go w formie tekstowej.

    Przykład prostego schematu XML

    Korzystając z tego schematu, możesz sprawdzić poprawność dokumentu XML o następującej treści.

    <книга xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "book.xsd"> <название>Podstawy XML <цена>300

    Wróćmy więc do naszego schematu XML. Jak już zauważyłeś, znany nam już XML służy do tworzenia schematów XML. Jedyna różnica polega na tym, że schemat XML już definiuje elementy, w przeciwieństwie do zwykłego XML. Z tego powodu używane są przestrzenie nazw. W takim przypadku wymagana przestrzeń nazw to „http://www.w3.org/2001/XMLSchema”, poprzedzona przedrostkiem „xs”.

    Chcę od razu zauważyć, że możesz użyć zarówno przedrostków przestrzeni nazw, jak i ustawić przestrzeń nazw dla elementu głównego. W związku z tym nie ma tu żadnej różnicy. Każdy sam decyduje, jak postąpić w danej sytuacji. Powiem tylko, że przedrostki "xs" lub "xsd" są zwykle używane.

    Cóż, teraz zastanówmy się, jak rozszyfrować powyższy schemat. Jak wspomniano powyżej, XML Schema to opis słownika i typów danych. Na tej podstawie rozszyfrujemy każdy element.

    • - deklarujemy element "książka" z typem "Książka".
    • - deklarujemy typ złożony o nazwie "Book" (xs: complexType - może zawierać elementy zagnieżdżone).
    • - deklaracja zagnieżdżenia. Oznacza to, że typ będzie zawierał elementy zagnieżdżone.
    • - deklarujemy element o nazwie "name" (standardowego typu "string" - xs:string).
    • - deklarujemy element o nazwie „cena” (standardowego typu „liczba” - xs: dziesiętna).

    Jak widać, nie ma tu nic super skomplikowanego. Jeśli się nad tym zastanowić, wszystko jest bardzo proste.

    Podstawowe elementy schematu XML

    W skrócie schemat XML można opisać w następujący sposób.

    Twój obwód

    Jak widać na przykładzie, każdy schemat XML składa się z elementu głównego „schema” i wymaganej przestrzeni nazw „http://www.w3.org/2001/XMLSchema”. Poniżej znajduje się opis obwodu i samego obwodu. Jednocześnie bardzo często w bardzo wysokiej jakości schematach opis jest znacznie większy niż sam schemat XML.

    Opis elementów w XML Schema

    Na początku artykułu przyjrzeliśmy się już przykładowi najprostszego schematu XML. W nim osobno opisaliśmy elementy i typy. Jednocześnie chcę od razu zaznaczyć, że sekwencja nie odgrywa tu żadnej roli. Obwód i tak będzie działał.

    Przyjrzyjmy się teraz drugiemu sposobowi napisania schematu XML, który polega na opisaniu typu bezpośrednio wewnątrz elementu. ten metoda będzie pasować w przypadku, gdy nie planujesz używać tego samego opisu dla różnych elementów. Dla jasności rozważ przykład.

    Jak widać na przykładzie, element jest zadeklarowany za pomocą specjalnej konstrukcji „element” z odpowiednim przedrostkiem. W tym przypadku definiujemy element o nazwie „root” bez określania typu (typu), ponieważ będzie on opisany wewnątrz elementu. Oznacza to, że istnieją dwa sposoby opisywania przedmiotów.

    1 sposób

    Typ Opis

    2 sposób

    Opis typu przedmiotu

    Możesz użyć zarówno pierwszej, jak i drugiej metody. Wszystkie działają w ten sam sposób. Jedyne pytanie to wygoda w tym konkretnym przypadku.

    Dalej po zadeklarowaniu elementu wskazujemy, że jest on typu złożonego ( ) i wyliczyć ( ) elementy zagnieżdżone. W tym przypadku są to elementy name i age o typach „xs: string” i „xs: integer”. Prefiks xs oznacza, że ​​jest to typ podstawowy, który jest już opisany w standardzie XML Schema.

    Jak widać, jak dotąd wszystko jest dość proste. Ponownie, nie będziemy omawiać wszystkich szczegółów, ponieważ ten artykuł ma na celu zapoznanie się ze schematem XML, a nie szczegółowe jego studiowanie.

    Jak schemat XML i mapowanie dokumentów

    Osobliwością schematu XML jest to, że nie opisuje on samego dokumentu, ale przestrzeń nazw. W związku z tym najczęściej w dokumencie nie ma o niej wzmianki. Sam program obsługi mapuje potrzebny schemat bez użycia jakichkolwiek instrukcji w dokumencie XML.

    W przypadku, gdy handler nie wie, gdzie znajduje się schemat, możemy wskazać, gdzie go szukać. Odbywa się to za pomocą specjalnego atrybutu „schemaLocation”. Ponieważ ten atrybut należy do innej przestrzeni nazw, przestrzeń należy również określić przed użyciem atrybutu. Dla jasności rozważ przykład.

    Schemat XML

    Dokument XML

    Teraz przyjrzyjmy się bliżej każdej linii.

    • targetNamespace = "http://www.site.com" - wskaż, dla której przestrzeni nazw ten schemat XML.
    • xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" - łączymy przestrzeń nazw, w której opisany jest atrybut "schemaLocation".
    • xsi: schemaLocation = "http://www.site.com/product.xsd" - wskaż, gdzie można znaleźć schemat w przypadku, gdy parser nie wie, gdzie się znajduje. Jeśli dokument XML nie należy do żadnej przestrzeni nazw, a zatem nie ma do niego odniesienia w schemacie, atrybut „schemaLocation” jest zastępowany atrybutem „noNamespaceSchemaLocation” (odwołanie do schematu bez definiowania przestrzeni nazw).

    To wszystko. Powodzenia i sukcesu w nauce XML!