Poradnik XML dla początkujących
Co to jest XML?
XML oznacza eXrozciągliwy Markup Ljęzyk. Jest to język (nie> język programowania), który używa znaczników i może się rozszerzać. Wywodzi się z Standard Gzenergizowany Markup Ljęzyk (SGML). XML używa również DTD (Dzawód Typ Definitions) w celu zdefiniowania struktury dokumentu XML.
XML nie służy do obsługi operacji obliczeniowych i algorytmów. Zatem XML nie jest językiem programowania. Głównym celem jest transport danych, a nie wyświetlanie informacji. XML łączy lukę między czytelnością dla człowieka a czytelnością dla maszyny. W przeciwieństwie do znaczników HTML, znaczniki XML są samoopisowe.
XML jest formatem otwartym. Rozszerzenie nazwy pliku XML to .xml
Historia XML-a
XML powstał już w 1996 r., a po raz pierwszy został opublikowany w 1998 r. World Wide Web Consortium (W3C) jest twórcą XMLi stał się A Rekomendacja W3C w 1998 roku.
Istnieją dwie wersje XML-a.
- XML 1.0
- XML 1.1
XML 1.1 to najnowsza wersja. Już, XML 1.0 to najczęściej używana wersja.
Redaktorzy XML to:
- Tim Bray,
- Jean Paoli,
- CM Sperberg,
- Ewa Maler,
- François Yergeau.
Funkcje XML
Oto kilka ważnych cech XML:
- Jest rozszerzalny i czytelny dla człowieka.
- Jest niezależny od platformy i języka.
- Zachowuje białą przestrzeń.
- Ogólna prostota.
- Charakter samoopisowy.
- Oddziela dane od HTML.
- Tagi XML nie są predefiniowane. Musisz zdefiniować własne tagi.
- XML został zaprojektowany do przenoszenia danych, a nie do ich wyświetlania.
- Kod znaczników XML jest łatwy do zrozumienia dla człowieka.
- Dobrze zorganizowany format jest łatwy do odczytu i zapisu z programów.
- XML to rozszerzalny język znaczników, taki jak HTML.
Kodowanie XML
Kodowanie to konwersja znaków Unicode na ich reprezentację binarną. UTF służy do kodowania XML. UTF oznacza UCS (UCS oznacza Universal Cbohater Soraz) Tprzekształcenie Format.
Zasadniczo istnieją dwa typy kodowania UTF.
- UTF-8: UTF-8 wykorzystuje 8 bitów do reprezentowania znaków.
- UTF-16
Przykład:
<?xml version="1.0" encoding="UTF-8"?>
Do reprezentowania znaków wykorzystuje 16 bitów.
Przykład:
<?xml version="1.0" encoding="UTF-16"?>
Możesz użyć kodowania wewnątrz deklaracji XML. Domyślnym kodowaniem w formacie XML jest UTF-8.
Składnia XML
Poniższy segment kodu przedstawia podstawową składnię XML.
<?xml version = "1.0" encoding = "UTF-8" ?> <root> <child> <subchild>.....</subchild> </child> </root>
Deklaracja XML
Deklaracja XML składa się z wersji XML, kodowania znaków i/lub statusu samodzielnego. Deklaracja jest opcjonalna.
Składnia deklaracji XML
Poniższy segment kodu przedstawia składnię deklaracji XML.
<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?>
Zasady deklaracji XML
Poniżej przedstawiono reguły deklaracji XML.
- Jeśli deklaracja XML jest obecna, musi być pierwszą rzeczą, która się pojawia.
- Deklaracja XML uwzględnia wielkość liter i musi zaczynać się od małych liter <?xml.
- Nie posiada znacznika zamykającego.
Przykład deklaracji XML
Poniższy fragment kodu pokazuje przykład deklaracji XML.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
Komentarze XML
Komentarze są opcjonalne. Dodawanie komentarzy pomaga zrozumieć treść dokumentu.
Składnia komentarzy XML
Komentarz zaczyna się od <!– i kończy się na ->.
Poniższy fragment kodu pokazuje składnię komentarzy XML.
<!-- Add your comment here -->
Tagi i elementy XML
Tagi działają parami, z wyjątkiem deklaracji. Każda para znaczników składa się z otwierający znacznik (Znany także jako znacznik startowy) I tag zamykający (Znany także jako znacznik końcowy).
Nazwy tagów są zawarte w <>. W przypadku określonej pary znaczników znacznik początkowy i końcowy muszą być identyczne, z wyjątkiem znacznika końcowego / po <.
<name>...</name>
Wszystko pomiędzy znacznikami otwierającymi i zamykającymi nazywa się zawartość.
Znacznik otwierający, treść i znacznik zamykający łącznie nazywane są tagiem element.
Opening tag + content + closing tag = an element
Uwaga: Elementy mogą również zawierać atrybuty. Już wkrótce poznasz te atrybuty.
Rozważmy poniższy element.
<age>20</age>
W powyższym elemencie
- wiek jest nazwa elementu.
Uwaga: nazwa tagu określany również jako an element or nazwa elementu.
- – znacznik otwierający
- 25 - zadowolony
- – znacznik zamykający.
Jeśli pomiędzy tagami nie ma żadnej treści, jak pokazano poniżej, jest to określane jako puste tagi.
<result></result>
Reguły dotyczące tagów i elementów XML
Poniższa lista przedstawia reguły dotyczące znaczników i elementów XML.
- W tagach rozróżniana jest wielkość liter.
Przykład:
Poprawny:
<age>20</age>
Źle:
<age>20</Age>
Uwaga: WIEK, Wiek, oraz wiek to trzy różne nazwy w formacie XML.
- Wszystkie dokumenty XML muszą zawierać pojedynczy element główny.
- Wszystkie elementy muszą mieć znacznik zamykający (z wyjątkiem deklaracji).
- Nazwa znacznika musi zaczynać się od litery lub znaku podkreślenia i nie może zaczynać się od xml.
- Nazwa znacznika może zawierać litery, cyfry, łączniki, podkreślenia i kropki. Myślniki podkreślają, a kropki są jedynymi dozwolonymi znakami interpunkcyjnymi.
- Nazwa tagu nie może zawierać spacji.
- Wszystkie elementy muszą być odpowiednio zagnieżdżone.
Przykład:
Poprawny:
<b><u>This text is bold and italic</u></b>
Źle:
<b><u>This text is bold and italic.</b></u>
Atrybuty XML
Atrybut elementu umieszczany jest po nazwie tagu w tagu początkowym. Możesz dodać więcej niż jeden atrybut dla pojedynczego elementu z różnymi nazwami atrybutów.
Rozważmy poniższy dokument XML.
<company name="ABC Holdings" location="London"> <chairman>Mr. John</chairman> <gm>Mr. Wood</gm> </company>
Istnieją dwa atrybuty w sukcesy firma element, tj Nazwa oraz lokalizacja.
Przyjrzyjmy się Nazwa atrybut,
- name=”ABC Holdings” – atrybut
- Nazwa – nazwa atrybutu
- Holdingi ABC - wartość atrybutu
Note: AN nazwa atrybutu jest również znany jako an atrybut.
Należy również pamiętać, że w powyższym przykładzie plik sukcesy firma jest korzeń elementem.
Reguły atrybutów XML
Poniższa lista przedstawia reguły atrybutów XML.
- Wartości atrybutów muszą być ujęte w cudzysłów.
- Element nie może zawierać kilku atrybutów o tej samej nazwie.
Atrybut kontra element
Czy nadal nie wiesz, jaka jest różnica między atrybutem a elementem? Oto kolejny przykład.
Rozważmy dokumenty A i B podane poniżej.
Dokument A:
<teacher subject="English"> <name>Mr. John</name>. <qualification>Graduate</qualification> </teacher>
Dokument B:
<teacher> <subject>English</subject> <name>Mr. John</name> <qualification>Graduate</qualification> </teacher>
W dokumencie A, przedmiot jest atrybutów.
W dokumencie B, przedmiot jest element.
Jednostki XML
Co to są encje XML?
Krótko mówiąc, jednostki są sposobem reprezentowania znaków specjalnych. Podmioty są również znane jako jednostka referencje.
Dlaczego potrzebujesz jednostek XML?
Niektóre postacie (np ", & <itd.) są zarezerwowane w formacie XML. Są to tzw znaki specjalne i nie mogą być bezpośrednio wykorzystywane do innych celów.
Na przykład, < oraz > symbole, do których się używa tagi. Nie można bezpośrednio pisać z klawiatury mniej niż oraz większa niż oznaki. Zamiast tego musisz użyć jednostek.
Poniższa tabela przedstawia niektóre popularne encje XML.
Postać | OPIS | Nazwa jednostki | Stosowanie |
---|---|---|---|
" | Cudzysłów (podwójny cudzysłów) | Quot | " |
& | Ampersand | amp | & |
" | Apostrof (pojedynczy cudzysłów) | po | " |
< | Less niż znak | lt | < |
> | Większy niż znak | gt | > |
Przykład:
<friend> <name>My friends are Alice & Jane.</name> </friend>
HTML kontra XML
Podobieństwa pomiędzy HTML i XML
Poniższa lista przedstawia podobieństwa między HTML i XML.
- Obydwa są formatami otwartymi.
- Obydwa są językami znaczników.
- Obydwa używają tagów i atrybutów do opisu treści.
Różnice pomiędzy HTML i XML
Mimo że XML jest podobny do HTML, XML nie zastępuje HTML. Istnieją również pewne istotne różnice między HTML i XML.
Poniższa tabela zawiera porównanie HTML i XML.
HTML | XML | |
---|---|---|
Stoiska | Hipertekstowy język znaczników | Rozszerzalny język znaczników |
Rodzaj języka | Predefiniowany język znaczników. | Struktura określania języków znaczników. |
Szczegóły konstrukcyjne | Nie podano. | Opatrzony. |
Cel | Służy do wyświetlania danych. | Służy do przesyłania danych |
Prowadzony przez | Oparte na formacie. | Oparta na treści. |
Natura | Ma charakter statyczny. | Ma charakter dynamiczny. |
Typ tagu | Predefiniowane tagi. | Tagi zdefiniowane przez użytkownika. |
Limit tagów | Dostępna jest ograniczona liczba tagów. | Tagi są rozszerzalne. |
Zamykanie tagów | Nie jest konieczne używanie tagów zamykających (ale zalecane jest używanie tagów zamykających). | Tagi zamykające są obowiązkowe. |
Obsługa przestrzeni nazw | Nieobsługiwany. | Utrzymany. |
Rozróżnianie wielkości liter | W tagach nie jest rozróżniana wielkość liter. | W tagach rozróżniana jest wielkość liter. |
Biała przestrzeń | Białe znaki nie mogą zostać zachowane (można zignorować białe znaki). | Zachowane białe znaki (nie można zignorować białych znaków). |
Analizuję JavaScenariusz | Nie potrzeba żadnej dodatkowej aplikacji. | Potrzebujesz implementacji DOM. |
Zagnieżdżanie kodu | Nie koniecznie potrzebne. | Potrzebne. |
Błędy | Potrafi zignorować drobne błędy. | Błędy nie są dozwolone. |
Rozszerzenie nazwy pliku | . Html or . Htm | . Xml |
Rozmiar | Stosunkowo duży. | Stosunkowo mały. |
Cytaty | W przypadku wartości atrybutów cudzysłowy nie są wymagane. | Wymagane w przypadku wartości atrybutów XML. |
Wsparcie obiektu | Oferuje natywną obsługę obiektów. | Przedmioty muszą być wyrażone konwencjami. |
Zerowe wsparcie | Natywnie rozpoznaje wartość null. | Trzeba użyć xsi:nil na elementach. |
Decyzje formatujące | Zapewnia bezpośrednie mapowanie danych aplikacji. | Wymagają większego wysiłku. |
Krzywa uczenia się | Less stroma krzywa uczenia się w porównaniu do XML. | Stroma krzywa uczenia się. |
Strona internetowa | https://html.spec.whatwg.org/ | https://www.w3.org/TR/xml11/ |
Podstawowa składnia HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> </body> </html>
Podstawowa składnia XML
<?xml version = "1.0" encoding = "UTF-8" ?> <root> <child> <subchild>.....</subchild> </child> </root>
Ten sam przykład z HTML i XML
Z HTMLem
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <p>Book</p> <p>Name: Anna Karenina</p> <p>Author: Leo Tolstoy</p> <p>Publisher: The Russian Messenger</p> </body> </html>
Z XML-em
<?xml version = "1.0" encoding = "UTF-8" ?> <book> <name>Anna Karenina</name> <author>Leo Tolstoy</author> <publisher>The Russian Messenger</publisher> </book>
JSON kontra XML
Podobieństwa między JSON i XML
Poniższa lista pokazuje podobieństwa między JSON i XML.
- Obydwa są formatami otwartymi.
- Obydwa są samoopisujące.
- Oba mają strukturę hierarchiczną.
- Obydwa mogą analizować i wykorzystywać w kilku językach programowania.
Różnice między JSON i XML
Istnieje również kilka różnic między XML i JSON.
Poniższe tabele przedstawiają porównanie formatów JSON i XML.
JSON | XML | |
---|---|---|
Stoiska | JavaNotacja obiektu skryptu | Rozszerzalny język znaczników |
Rozszerzony z | JAVASCRIPT | SGML |
Przechowywanie danych | Dane przechowywane jako pary klucz-wartość. | Dane przechowywane w formie drzewa. |
Przestrzenie nazw | Brak obsługi przestrzeni nazw. | Obsługuje przestrzenie nazw. |
Komentarze | Dodawanie komentarzy nie jest obsługiwane. | Możliwość dodawania komentarzy. |
Dostępność danych | Łatwo dostępne jako obiekty JSON. | Dane muszą zostać przeanalizowane. |
Metadane | Dodawanie metadanych nie jest obsługiwane. | Potrafi zapisywać metadane. |
rodzaje | Typy JSON: string, number, array, Boolean. | Wszystkie dane XML powinny być smyczki. |
Typy danych wsparcia | podpory XNUMX oraz numer tylko typy danych. | Obsługa wielu typów danych (tekst, liczby, obrazy itd.) |
Obsługa tablicy | Większa obsługa tablic w porównaniu do XML. | Brak lub mniejsze wsparcie dla tablic. |
Wsparcie obiektu | Natywne wsparcie dla obiektu. | Przedmiot musi być wyrażony konwencjami. |
Obsługa zestawu narzędzi AJAX | Utrzymany. | Nie w pełni obsługiwane. |
Pobieranie wartości | Łatwe. | Trudny. |
Deserializacja/serializacja | Całkowicie automatyczny. | Deweloperzy muszą pisać JavaKod skryptu. |
Obsługiwane przeglądarki | Obsługiwane przez większość przeglądarek. | Analizowanie XML w różnych przeglądarkach może być trudne. |
kodowanie | Obsługuje tylko kodowanie UTF-8. | Obsługuje różne kodowanie. |
Możliwości wyświetlania | Brak możliwości wyświetlania. | Oferuj możliwości wyświetlania. |
Rozmiar dokumentu | Mniejszy niż XML. | Duży niż JSON. |
Rozszerzenie nazwy pliku | .json | . Xml |
Bezpieczeństwo | Less zabezpieczone. | Bezpieczniejszy niż JSON. |
Łatwy do odczytania | Relatywnie łatwy. | Stosunkowo trudne. |
Krzywa uczenia się | Łatwe do nauki. | Stroma krzywa uczenia się. |
Strona internetowa | https://www.json.org/json-en.html | https://www.w3.org/TR/xml11/ |
Podstawowa składnia JSON
{string:value, .......}
Ten sam przykład z JSON i XML
Z JSON-em
{"books":[ {"name":"Anna Karenina", "author":"Leo Tolstoy"}, {"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"}, {"name":"The Great Gatsby", "author":"Scott Fitzgerald"}, {"name":"Invisible Man", "author":"Ralph Ellison"} ]}
Z XML-em
<?xml version = "1.0" encoding = "UTF-8" ?> <books> <book> <name>Anna Karenina</name> <author>Leo Tolstoy</author> </book> <book> <name>One Hundred Years of Solitude</name> <author>Gabriel Garcia Marquez</author> </book> <book> <name>The Great Gatsby</name> <author>Scott Fitzgerald</author> </book> <book> <name>Invisible Man</name> <author>Ralph Ellison</author> </book> </books>
Definicja XML
Co to jest DTD?
DTD oznacza Dzawód Typ Ddefinicja. Definiuje strukturę dokumentu XML za pomocą niektórych elementów prawnych. XML DTD jest opcjonalny.
Regulamin DTD
Poniższa lista przedstawia reguły DTD.
- Jeżeli DTD występuje, musi pojawić się na początku dokumentu (nad DTD może pojawić się jedynie deklaracja XML).
- Deklaracja elementu musi zaczynać się od an ! znak.
- Nazwa DTD i typ elementu głównego muszą być takie same.
Przykłady DTD
Przykład wewnętrznego DTD:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE student [ <!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)> ]> <student> <firstname>Mark</firstname> <lastname>Wood</lastname> <school>Hills College</school> </student>
W powyższym przykładzie
- !DOCTYPE, student wskazuje początek deklaracji DTD. I Student jest głównym elementem dokumentu XML.
- !ELEMENT-uczeń wskazuje Student element musi zawierać imię Nazwisko oraz szkoła elementy.
- !ELEMENT imię wskazuje Imię element jest typu #PCDANE (Pdupek Cbohater Dane).
- !ELEMENT nazwisko wskazuje Nazwisko element jest typu #PCDANE.
- Szkoła !ELEMENT wskazuje szkoła element jest typu #PCDANE.
Przykład zewnętrznego DTD:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE student SYSTEM "student.dtd"> <student> <firstname>Mark</firstname> <lastname>Wood</lastname> <school>Hills College</school> </student>
Zawartość pliku DTD (student.dtd) wygląda następująco.
<!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)>
DOM XML
Co to jest DOM?
DOM oznacza Dzawód Oobiekt Model. Definiuje standardowy sposób dostępu do dokumentów XML i manipulowania nimi. DOM ma (hierarchiczną) strukturę drzewa.
Przykład DOM
Rozważmy poniższy dokument XML.
<?xml version="1.0" encoding="UTF-8" ?> <school> <student> <name> <first_name>Alex</first_name> <last_name>Clarke</last_name> </name> <age>14</age> <address>No. 35, Flower Road, Leeds</address> </student> </school>
Struktura drzewa powyższego pliku XML wyglądałaby jak na poniższym obrazku.
Walidacja XML
Co to są dobrze sformułowane dokumenty XML?
Dobrze uformowany Dokumenty XML to dokumenty XML z poprawną składnią.
Co to są ważne dokumenty XML?
Ważny Dokumenty XML są dobrze sformułowane i są również zgodne z zasadami DTD.
Przestrzenie nazw XML
Dlaczego przestrzenie nazw?
Przestrzenie nazw pomagają uniknąć konfliktów nazw elementów.
Deklaracja przestrzeni nazw
Poniżej przedstawiono składnię deklaracji przestrzeni nazw.
<element xmlns:name="URL">
W powyższym oświadczeniu
- xmlns słowo kluczowe wskazuje początek przestrzeni nazw.
- Nazwa jest przedrostkiem przestrzeni nazw.
- URL jest identyfikatorem przestrzeni nazw.
Przykłady przestrzeni nazw
Poniższy fragment kodu pokazuje przykład przestrzeni nazw.
<?xml version="1.0" encoding="UTF-8" ?> <abt:about xmlns:abt="https://www.guru99.com/about-us.html"> <abt:founder>Krishna</abt:founder> <abt:vision>Fun and Free Education for ALL</abt:vision> </abt:about>
Redaktorzy XML
Dostępnych jest kilka edytorów XML. Jako edytora XML można używać dowolnego edytora tekstu (takiego jak notatnik itp.).
Poniżej znajduje się lista najpopularniejszych edytorów XML w 2021 roku.
1) Notatnik XML
XML Notepad to edytor XML o otwartym kodzie źródłowym. Ma widok drzewa i wyjście XSL w lewym panelu oraz tekst węzła po prawej stronie. Na dole znajduje się okno debugowania błędów.
Kluczowe statystyki:
- Typ – edytor XML
- Deweloper - Microsoft
- Obsługiwany system operacyjny – Microsoft Windows.
- Cena – gratis
Połączyć: http://microsoft.github.io/XmlNotepad/
2) Studio Stylus
Stylus Studio jest napisanym IDE C++ dla Extensible Markup Language ( XML ). Umożliwia użytkownikowi edycję i transformację dokumentów XML, danych takich jak elektroniczna wymiana danych (EDI), CSV i danych relacyjnych.
Kluczowe statystyki:
- Typ – Zintegrowane środowisko programistyczne (IDE) dla XML
- Deweloper – Progress Software Corporation
- Obsługiwany system operacyjny – Microsoft Windows.
- Cena – płatna (aktualną cenę można znaleźć na stronie internetowej podanej poniżej), dostępna jest bezpłatna wersja próbna.
Połączyć: http://www.stylusstudio.com/
3) Altova XMLSpy
XMLSpy jest głównie sprzedawany jako edytor JSON i XML. Posiada wbudowany projektant schematów i edytor. Obejmuje Visual Studio i Eclipse integracja.
Kluczowe statystyki:
- Typ – Edytor XML
- Deweloper - Altova
- Obsługiwany system operacyjny – Microsoft Windows.
- Cena – płatna (aktualną cenę można znaleźć na stronie internetowej podanej poniżej), dostępna jest bezpłatna wersja próbna.
Połączyć:https://www.altova.com/xmlspy-xml-editor
4) Edytor XML tlenu
Oxygen XML to wieloplatformowy edytor opracowany w JavaPomaga w walidacji schematów takich jak DTD, W3C XML Schema, RELAX NG, Schematron, NRL i schematy NVDL.
Kluczowe statystyki:
- Typ – edytor XML
- Deweloper - SyncRO Soft spółka z ograniczoną odpowiedzialnością
- Obsługiwany system operacyjny – Windows, Linux i Mac OS X
- Cena – płatna (aktualną cenę można znaleźć na stronie internetowej podanej poniżej
Połączyć:https://www.oxygenxml.com/
5) Zwiększ
Xmplify XML Editor zapewnia środowisko edycyjne w pełni obsługujące XML z automatyczną walidacją dokumentów opartą na DTD i XML Schema, itp.
Kluczowe statystyki:
- Typ – Edytor XML
- Deweloper – Korporacja MOSO
- Obsługiwany system operacyjny – Mac OS.
- Cena – płatna (aktualną cenę można znaleźć na stronie internetowej podanej poniżej
Połączyć: http://xmplifyapp.com/
Parsery XML
Parser XML to biblioteka oprogramowania zapewniająca interfejs do pracy z dokumentami XML. Sprawdza, czy format dokumentu XML jest poprawny. Niektóre parsery mogą także sprawdzać poprawność dokumentów XML. Współczesne przeglądarki są wyposażone w parsery XML.
SAX
SAX oznacza Swdrożyć API za XML. To jest aZlikwidowanie pprogram iinterfejs (API) do analizowania dokumentów XML. Zachowują się podobnie do procedur obsługi zdarzeń w Java.
W przeciwieństwie do DOM, SAX jest przykładem parsera XML opartego na zdarzeniach.
Oto kilka ważnych różnic między SAX i DOM.
SAX | DOM | |
---|---|---|
Stoiska | Proste API dla XML | Dokumentowy model obiektowy |
Typ parsera | Oparte na zdarzeniach | Oparte na obiektach |
Odczytuj i zapisuj XML | Tylko do odczytu | Zarówno czytać, jak i pisać |
Wstaw/aktualizuj/usuń węzły | Nie można wstawić/zaktualizować/usunąć węzłów | Może wstawiać/aktualizować/usuwać węzły |
Wydajność pamięci | Dobra wydajność pamięci | Różnie |
Prędkość | Wolniejszy niż parser DOM | Szybszy niż parser SAX |
Odpowiedni dla | Pliki o małych rozmiarach | Pliki o dużych rozmiarach |
Wiązanie danych XML
Powiązanie danych XML to reprezentacja danych w dokumencie XML jako obiektu biznesowego w pamięci komputera.
Istnieją trzy podejścia do wiązania danych XML.
- Powiązanie danych oparte na schemacie XML: Na podstawie schematu tworzone są odpowiednie klasy XML.
- Powiązanie danych oparte na klasach: Na podstawie klas tworzony jest odpowiedni schemat XML.
- Powiązanie danych oparte na mapowaniu: Opisuje, w jaki sposób istniejący schemat XML jest odwzorowywany na zestaw klas (i odwrotnie).
Istnieją również struktury powiązań danych XML.
Przykłady:
Wiązanie danych XML jest łatwe dzięki frameworkom. Struktura powiązania danych generuje dla Ciebie dużą ilość kodu. Musisz podać schemat DTD lub XML.
schematy XML
XML schemat (znany również jako Definicja schematu XML or xsd) służy do opisu struktury dokumentu XML. Jest alternatywą dla DTD.
Dlaczego schemat jest ważny?
DTD nie jest tak potężne jak schemat, ponieważ nie jest wystarczająco rozszerzalne i elastyczne. Dlatego w niektórych sytuacjach może nie być odpowiedni. W takiej sytuacji ważny jest schemat. Głównym celem stosowania schematu XML jest zdefiniowanie elementów i atrybutów dokumentu XML.
Czym różni się schemat XML od DTD?
Poniższe porównanie pokazuje różnice między XSD (Schemat XML) a DTD.
DTD | xsd | |
---|---|---|
Stoiska | Definicja typu dokumentu | Definicja schematu XML |
Rozciągliwość | Nierozszerzalny | rozsuwany |
Kontrola struktury XML | Less kontrola | Większa kontrola |
Typy danych wsparcia | Nie jest obsługiwany | Utrzymany |
Obsługa przestrzeni nazw | Nie jest obsługiwany | Utrzymany |
Poniższy fragment kodu pokazuje przykład schematu XML.
xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema"> <xs:element name = "employee"> <xs:complexType> <xs:sequence> <xs:element name = "firstname" type = "xs:string" /> <xs:element name = "lastname" type = "xs:string" /> <xs:element name = "phone" type = "xs:int" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Zalety XML-a
Tutaj zalety/zalety XML:
- Ułatwiło to transport i udostępnianie danych.
- XML usprawnia wymianę danych pomiędzy różnymi platformami.
- Jest to język znaczników, będący zbiorem znaków i/lub symboli umieszczonych w dokumencie tekstowym.
- XML wskazuje, jak powinien wyglądać dokument XML po wyświetleniu.
- Upraszcza proces zmiany platformy.
- Zwiększa dostępność danych.
- Obsługuje dokumenty wielojęzyczne i Unicode.
- Zapewniają stosunkowo łatwe do nauczenia się i kodowania.
- Jest to język znaczników, będący zbiorem znaków i/lub symboli umieszczonych w dokumencie tekstowym.
- Wykonuje walidację przy użyciu DTD i schematu.
- Umożliwia przenoszenie dokumentów pomiędzy systemami i aplikacjami. Za pomocą XML możesz szybko wymieniać dane pomiędzy różnymi platformami.
- XML oddziela dane od HTML.
Wady XML-a
Oto wady/wady używania XML:
- XML wymaga aplikacji przetwarzającej.
- Składnia XML jest podobna do składni innych alternatywnych formatów transmisji danych opartych na tekście, co czasami może być mylące.
- Brak wewnętrznej obsługi typów danych
- Składnia XML jest zbędna.
- Nie pozwala użytkownikowi na tworzenie własnych tagów.
Podsumowanie
- XML oznacza eXtensible Markup Language. XML to język (nie język programowania), który używa znaczników i może się rozszerzać.
- Głównym celem jest transport danych, a nie wyświetlanie danych.
- Najnowsza wersja to XML 1.1. Jednak najczęściej używaną wersją jest XML 1.0.
- Tagi działają parami, z wyjątkiem deklaracji.
- Tag otwierający + treść + tag zamykający = element
- Jednostki są sposobem reprezentowania znaków specjalnych.
- DTD oznacza definicję typu dokumentu. Definiuje strukturę dokumentu XML za pomocą niektórych elementów prawnych. XML DTD jest opcjonalny.
- DOM oznacza model obiektowy dokumentu. Definiuje standardowy sposób dostępu i manipulowania dokumentami XML.
- Dobrze sformułowane dokumenty XML to dokumenty XML z poprawną składnią.
- Prawidłowe dokumenty XML są dobrze sformułowane i są również zgodne z zasadami DTD.
- Przestrzenie nazw pomagają uniknąć konfliktów nazw elementów.