[ Pobierz całość w formacie PDF ]
.0" encoding="UTF-8"?><!DOCTYPE JavaXML:Ksiazka SYSTEM "DTD/JavaXML.dtd"><?xml-stylesheet href="XSL\JavaXML.html.xsl" type="text/xsl"?><?xml-stylesheet href="XSL\JavaXML.wml.xsl" type="text/xsl"media="wap"?><?cocoon-process type="xslt"?><!-- Java i XML --><JavaXML:Ksiazka xmlns:JavaXML="http://www.oreilly.com/catalog/javaxml/"><JavaXML:Tytul>Java i XML</JavaXML:Tytul><JavaXML:Spis><JavaXML:Rozdzial tematyka="XML"><JavaXML:Naglowek>Wprowadzenie</JavaXML:Naglowek><JavaXML:Temat podRozdzialy="7">Co to jest?</JavaXML:Temat>.----------------------TestujÄ™ odczytywanie dokumentu z SAX.----------------------<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE JavaXML:Ksiazka SYSTEM "DTD/JavaXML.dtd"><?xml-stylesheet href="XSL\JavaXML.html.xsl" type="text/xsl"?><?xml-stylesheet href="XSL\JavaXML.wml.xsl" type="text/xsl"media="wap"?><?cocoon-process type="xslt"?><!-- Java i XML --><JavaXML:Ksiazka xmlns:JavaXML="http://www.oreilly.com/catalog/javaxml/"><JavaXML:Tytul>Java i XML</JavaXML:Tytul><JavaXML:Spis><JavaXML:Rozdzial tematyka="XML"><JavaXML:Naglowek>Wprowadzenie</JavaXML:Naglowek>.Taki wynik zostaÅ‚ uzyskany po uruchomieniu programu testujÄ…cego na pliku contents.xml, utworzonym we wczeÅ›niejszych rozdziaÅ‚ach.Element JavaXML:Dodatkowe (i elementy potomne) zostaÅ‚ opatrzony komentarzami, ponieważ definicja DTD nie pozwala na jego istnienie.JeÅ›li nie byÅ‚oby komentarzy, program zgÅ‚osiÅ‚by nastÄ™pujÄ…cy komunikat o bÅ‚Ä™dzie (kiedy przy tworzeniu egzemplarza SAXBuilder lub DOMBuilder zażądano by sprawdzania poprawnoÅ›ci):org.jdom.JDOMException: Error in building from stream: Error on line 59 of XML document: Element type "JavaXML:Dodatkowe" must be declared.at org.jdom.input.DOMBuilder.build(DOMBuilder.java, Compiled Code)at org.jdom.input.DOMBuilder.build(DOMBuilder.java, Compiled Code)at JDOMTest.domDocument(JDOMTest.java, Compiled Code)at JDOMTest.main(JDOMTest.java, Compiled Code)Error on line 59 of XML document: Element type "JavaXML:Dodatkowe" must be declared.JednÄ… z istotnych cech interfejsu JDOM jest diagnozowanie bÅ‚Ä™dów — powyższy komunikat dostarcza szczegółowych informacji o bÅ‚Ä™dach w danych wejÅ›ciowych XML i tym samym upraszcza sprawdzanie ich poprawnoÅ›ci.Ponieważ metody wejÅ›cia i wyjÅ›cia zajmujÄ… tylko cztery wiersze kodu (patrz domDocument() i saxDocument()), JDOM może zostać wykorzystany wÅ‚aÅ›nie do sprawdzania poprawnoÅ›ci i formatowania dokumentów XML.NadeszÅ‚a pora, aby przypomnieć sobie programy SAXParserDemo i DOMParserDemo z rozdziałów 3.i 7.Oba te programy wyswietlaÅ‚y dokumenty XML pobrane z pliku wejÅ›ciowego; SAXParserDemo udostÄ™pniaÅ‚ podglÄ…d samego procesu przetwarzania, zaÅ› DOMParserDemo to wÅ‚aÅ›ciwie klasa „Å‚adnie drukujÄ…ca” dokument XML.PrzykÅ‚ad 8.7 to kod źródÅ‚owy com.oreilly.xml.PrettyPrinter, klasy narzÄ™dziowej wykonujÄ…cej to samo zadanie co DOMParserDemo, ale poprzez JDOM.Uważny Czytelnik mógÅ‚ zauważyć, że w powyższym kodzie nie zajÄ™liÅ›my siÄ™ sprawdzaniem poprawnoÅ›ci ani przestrzeniami nazw.Ponieważ JDOM obsÅ‚uguje przestrzenie nazw wewnÄ™trznie (a nie polegajÄ…c na informacjach dostarczanych przez DOM Level 2 czy SAX 2.0), sprawdzanie poprawnoÅ›ci odbywa siÄ™ przy jednoczesnej obsÅ‚udze przestrzeni nazw.JDOM faktycznie wyÅ‚Ä…cza „Å›wiadomość” przestrzeni nazw w klasach SAXBuilder i DOMBuilder! Nie tylko umożliwia to przeprowadzenie sprawdzania poprawnoÅ›ci, ale także przyspiesza przetwarzanie dokumentów XML.PrzykÅ‚ad 8.7.Klasa narzÄ™dziowa com.oreilly.xml.PrettyPrinterpackage com.oreilly.xml;import java.io.File;import org.jdom.Document;import org.jdom.input.Builder;import org.jdom.input.SAXBuilder;import org.jdom.output
[ Pobierz całość w formacie PDF ]