11.7. Walidacja dokumentu XML
Podziękowania dla Mauro Cicio
Problem
Chcemy sprawdzić, czy dokument XML zgodny jest z pewnym schematem lub definicją DTD.
Rozwiązanie
Niestety, w chwili obecnej brak jest stabilnej biblioteki umożliwiającej walidację dokumentów XML, stworzonej w języku Ruby. Trzeba więc sięgnąć po którąś z bibliotek napisanych w języku C, najlepiej zestaw narzędziowy GNOME libxml2
(obecnie istnieją dwa bindowania dla tej biblioteki, należy wykorzystać to zawarte w gemie libxml-ruby
).
Aby sprawdzić zgodność dokumentu XML z definicją DTD, należy utworzyć stosowny obiekt Dtd
i przekazać go jako argument wywołania metody Document#validate
. Analogicznie, chcąc sprawdzić zgodność dokumentu ze schematem, należy utworzyć w tym ...
Get Ruby. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.