JAXB - Java Architecutre for XML Binding

JAXB to kolejny standard (obok DOM-a i SAX-a) definiujący dostęp do plików XML-owych z poziomu języka programowania. Filozofia JAXB jest trochę inna niż SAX-a i DOM-a: nie ma tu ogólnego interfejsu do parsowania plików, zamiast tego jest interfejs tworzony na podstawie DTD lub XML-Schemy. W praktyce wygląda to tak, że dostajemy kompilator schematów (lub dtd), który z tych schematów generuje klasy - dla każdego elementu XML powstaje jedna klasa. (Trochę podobnie do kompilacji IDL -> Java). Np. gdy shemat określa, że element root ma model zawartości (item*) to kopilator stworzy klasę Root zawierającą kolekcję Item-ów. Jeżeli item jest (#PCDATA) to w Javie Item będzie java.lang.Stringiem, wpp. Item będzie klasą stworzoną przez kompilator schematów.

JAXB to standard promowany przez Suna, i pewnie znajdzie się w jednym z następnych wydań JDK. Na razie jest w wersji beta. Istnieją też inne implementacje XML data binding (np. Castor), ale pewnie ta od Suna stanie się oficjalnym standardem...

Zalety w stosunku do SAX-a:

Zalety w stosunku do DOM-a:

Cztery podstawowe operacje udostępniane przez JAXB:

Uruchamianie przykładów:

Co w przykładach:

Linki

Propozycje zadan

Na poprzednich zajęciach generowaliśmy tabelkę lemma-variantów i work-ów za pomocą XSLT. Teraz można to samo zrobić wykorzystując JAXB. Jak jest prościej?
Tu można znaleźć DTD do dokumentów planningowych


©2002, Karol Bieńkowski