xml Samouczek                
            Rozpoczęcie pracy z xml
        
        
            
    Szukaj…
Uwagi
XML to język znaczników służący do przechowywania danych hierarchicznych w plikach tekstowych. Jest również znany jako dane częściowo ustrukturyzowane, takie jak JSON. XML można odczytać maszynowo, ale może być również czytany i wytwarzany przez ludzi.
XML składa się z elementów, czasem nazywanych zupą tagów , które same mogą zawierać inne elementy i / lub tekst. Elementy mogą również zawierać atrybuty.
XML jest często używany do wymiany danych między platformami, zwłaszcza przez Internet. Jest również coraz częściej wykorzystywany do przechowywania częściowo ustrukturyzowanych danych w magazynach danych NoSQL (bazach danych XML / magazynach dokumentów). Ponadto ma elastyczność w obsłudze danych zorientowanych na dokumenty (tekst ze znacznikami), co czyni je bardzo popularnymi w branży wydawniczej. XML jest również szeroko stosowany do plików konfiguracyjnych.
Jednym z głównych powodów, dla których XML jest tak szeroko stosowany, jest jego standaryzacja z dostępnością wielu parserów, w tym open source. To sprawia, że koszt używania XML jest niższy niż wynalezienie własnej nowej składni.
Więcej informacji o pochodzeniu i celach XML można znaleźć w oficjalnej Rekomendacji W3C .
Istnieją dwie wersje XML, pokazane w poniższej tabeli. Edycje każdej wersji są tylko wersjami oryginalnych dokumentów, a nie zmianami standardów.
Pierwsza wersja XML to 1.0 . XML 1.1 został pierwotnie zmieniony z powodu zmiany wersji Unicode z 2.0 na 3.1 i określa zestaw nowych reguł dotyczących używania i interpretacji nowych znaków Unicode.
Wersje
| Wersja | Data wydania | 
|---|---|
| 1.0 | 1998-02-10 | 
| 1.1 | 2001-12-13 | 
Instalacja lub konfiguracja
XML to składnia, co oznacza, że wystarczy prosty edytor tekstu, aby rozpocząć.
Jednak posiadanie edytora specyficznego dla XML, który pokazuje, kiedy i gdzie dokument nie jest dobrze sformułowany, jest prawie nieodzowny dla wydajności. Takie edytory mogą również umożliwiać sprawdzanie poprawności dokumentów XML pod kątem schematu XML, a nawet generowanie schematów XML na podstawie dokumentów XML (i odwrotnie).
Niektóre przykłady edytorów to oXygen, Atom, Eclipse i Altova XMLSpy. Alternatywnym rozwiązaniem jest użycie parsera XML wiersza polecenia, takiego jak Apache Xerces.
Podstawowe bloki konstrukcyjne
XML składa się z podstawowych elementów składowych, które są:
- element
 - tekst
 - atrybuty
 - komentarze
 - instrukcje przetwarzania
 
Element ma nawiasy kątowe:
<element/>
<element>some content</element>
 Atrybut pojawia się w znaczniku elementu otwierającego:
<element
  attribute-name="attribute value"
  other-attribute='single-quoted value'>
  ...
</element>
 Tekst może pojawić się w dowolnym miejscu w obrębie elementów lub między nimi:
<element>some more <b>bold</b> text</element>
 Komentarze używają następującej składni. Ważne jest, aby wiedzieć, że komentarze XML, w przeciwieństwie do języków programowania, są częścią modelu i będą widoczne dla aplikacji nad analizatorem składni.
<!-- this is a comment -->
 Instrukcje przetwarzania pozwalają na przekazywanie komunikatów do używającej aplikacji (np. Sposobu wyświetlania lub arkusza stylów itp.). XML nie ogranicza formatu instrukcji przetwarzania.
<?target-application these are some instructions?>
 Więcej szczegółów na temat bloków konstrukcyjnych można znaleźć w tym temacie
Dobrze uformowana
Dokument XML to plik tekstowy, który jest zgodny z dobrze sformułowanymi regułami specyfikacji XML. Taki zgodny dokument jest uważany za dobrze sformułowany (nie należy go mylić z ważnym ). XML jest bardzo rygorystyczny z dobrze uformowaną formą w porównaniu do innych języków, takich jak HTML. Plik tekstowy, który nie jest dobrze sformatowany, nie jest uważany za XML i nie może być w ogóle używany przez aplikacje.
Oto kilka zasad dotyczących dokumentów XML:
XML używa składni samoopisującej. Prolog definiuje wersję XML i kodowanie znaków:
<?xml version="1.0" encoding="UTF-8"?>Musi być dokładnie jeden element najwyższego poziomu.
Jednak komentarze, instrukcje przetwarzania, a także wstępna deklaracja XML są dozwolone również na najwyższym poziomie. Tekst i atrybuty nie są.
<?xml version="1.0"?> <!-- some comments --> <?app a processing instruction?> <root/> <!-- some more comments -->Elementy mogą się zagnieżdżać, ale muszą być „odpowiednio zagnieżdżone”:
<name> <first-name>John</first-name> <last-name>Doe</last-name> </name>Znaczniki początkowe i końcowe osadzonego elementu muszą znajdować się w znacznikach początkowym i końcowym elementu kontenera. Nakładanie się elementów jest nielegalne. W szczególności nie jest to dobrze sformułowany XML:
<foo><bar></foo></bar>Atrybuty mogą pojawiać się tylko w znacznikach elementów otwierających lub pustych, a nie w znacznikach elementów zamykających. Jeśli między elementami pojawia się składnia atrybutu, nie ma ona znaczenia i jest analizowana jako tekst.
<person first-name="John" last-name="Doe"/>To nie jest dobrze sformułowane:
<person></person first-name="John"/>Komentarze, instrukcje przetwarzania, tekst i inne elementy mogą pojawiać się w dowolnym miejscu elementu (tj. Między znacznikiem otwierającym i zamykającym), ale nie wewnątrz znaczników.
<element> This is some <b>bold</b> text. <!-- the b tag has no particular meaning in XML --> </element>Ten przykład nie jest dobrze sformułowany:
<element <-- comment --> />Znak
<może nie pojawiać się w tekście lub w wartościach atrybutów."Znak może nie pojawiać się w wartościach atrybutów cytowanych za pomocą".'Znak może nie pojawiać się w wartościach atrybutów, które są cytowane za pomocą'.Sekwencja znaków
--może nie pojawiać się w komentarzu.Dosłowne
<i&znaki muszą być ocalałem przez odpowiednie podmioty<i&.
Witaj świecie
<?xml version="1.0"?>
<?speech-generator voice="Siri"?>
<root xmlns:vocabulary="http://www.example.com/vocabulary">
  <!-- These are the standard greetings -->
  <vocabulary:greetings>
    <vocabulary:greeting xml:lang="en-US" type="informal">
      Hi!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="intermediate">
      Hello!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="formal">
      Good morning to <b>you</b>!
    </vocabulary:greeting> 
  </vocabulary:greetings>
</root>
        Przestrzenie nazw
Nazwy elementów i atrybutów znajdują się w przestrzeniach nazw, które są identyfikatorami URI. Przestrzenie nazw są powiązane z przedrostkami, które są używane w rzeczywistych nazwach elementów i atrybutów, które nazywane są QNames.
 Ten dokument wiąże przestrzeń nazw z prefiksem prefix i definiuje domyślną przestrzeń nazw związaną z brakiem prefiksu. 
<?xml version="1.0"?>
<document
    xmlns="http://www.example.com/default-namespace"
    xmlns:prefix="http://www.example.com/another-namespace">
  <prefix:element/>
</document>
 Więcej szczegółów na temat przestrzeni nazw można znaleźć w tym temacie