Wszystkie przykładowe programy:
Wiązanie XML w języku programowania (u nas w Javie) to pomysł, aby schematom dokumentów XML (DTD, XML Schema itp.) odpowiadały hierarchie klas, a instancjom dokumentów konkretne obiekty (z obiektami – podelementami itd., tworząc strukturę drzewiastą).
Na przykład elementowi osoba
z polami imie
i nazwisko
typu xs:string
może odpowiadać klasa Osoba
z polami
imie
i nazwisko
typu String
.
Dokument zgodny ze schematem można wczytać do pamięci (unmarshalling), a drzewo obiektów zapisać do dokumentu (marshalling).
Nie ma potrzeby pamiętania nazw elementów i atrybutów (po prostu widać jakiego są typu), w wielu przypadkach można też uniknąć tworzenia list i słowników, dzięki temu wiązanie XML jest mniej pamięciochłonne i szybsze niż DOM.
Standard Java API for XML Binding jest realizacją idei „wiązania XML” w Javie, został opracowany przez Suna, obecnie jest projektem open-source. JAXB jest częścią platformy Java Standard Edition od wersji 6.
JAXB w wersji 2.x oparte jest o adnotacje Javy. Do działania JAXB wymagany jest
"kontekst" (obiekt klasy JAXBContext
) utworzony w oparciu o klasy
z adnotacjami JAXB. Do działania nie jest potrzebny schemat.
Klasy z adnotacjami JAXB można
Klasy wygenerowane zawierają zwykle duzo adnotacji, aby zachować jak najwięcej
szczegółów odczytanych ze schematu. W klasach przygotowywanych samemu obowiązkowa
jest jedynie adnotacja @XmlRootElement
w klasie odpowiadającej
elementowi głównemu. Za pomocą dodatkowych adnotacji można zmienić sposób
mapowania obiektów Javy do XML i schemat generowany na podstawie klas.
Kompilacja schematu narzędziem XJC, generuje klasy Javy odpowiadające typom zdefiniowanym w schemacie.
Napisanie samej aplikacji korzystając z:
cena-brutto
.
Napisz program dopisujący ceny brutto dla towarów.
nazwa
) and the price (cena
)
of the cheapest article (towar
) in the given category.