B-08.pdf

(113 KB) Pobierz
Funkcje i właściwości
SAX 2.0
W tym dodatku przedstwione są standardowe funkcje i właściwości interfejsu SAX 2.0. W opro-
gramowaniu określonego producenta mogą znaleźć się dodatkowe funkcje i właściwości; tutaj
jednak przedstawiono tylko cechy podstawowe, które powinny być obsługiwane przez każdą im-
plementację parsera zgodną ze standardem SAX 2.0.
B
Podstawowe funkcje
Wymieniono tutaj podstawowe funkcje obsługiwane przez implementacje SAX 2.0
XMLReader.
Funkcje te można ustawić za pomocą metody
setFeature();
wartość określonej funkcji moż-
na uzyskać metodą
getFeature().
Każda funkcja może być tylko do odczytu lub do odczytu
i zapisu. Możliwe jest także, że określone funkcje da się modyfikować tylko w czasie przetwa-
rzania lub przeciwnie — tylko wtedy, gdy przetwarzanie się nie odbywa.
Przetwarzanie przestrzeni nazw
Włączenie tej funkcji powoduje, że parser wykonuje przetwarzanie przestrzeni nazw. W wyniku
tego przetwarzania przedrostki i identyfikatory URI przestrzeni nazw oraz nazwy lokalne będą do-
stępne poprzez wywołania SAX obsługujące przestrzenie nazw (startPrefixMapping() oraz
endPrefixMapping(),
a także niektóre parametry przekazywane do
startElement()
oraz
endElement()).
Kiedy tej funkcji przypisana jest wartość
true,
przetwarzanie przestrzeni
nazw będzie miało miejsce; jeśli
false
— przetwarzania przestrzeni nazw nie będzie (w tym
ostatnim przypadku automatycznie zakłada się, że funkcja komunikowania o przedrostku prze-
strzeni nazw jest włączona).
URI:
http://xml.org/sax/features/namespaces
Dostęp — tylko do odczytu przy przetwarzaniu; do odczytu i zapisu w innych przypadkach.
C:\Users\a_czajka\Dropbox\Informatyka\książki
informatyczne\Java i XML\B-08.DOC
strona
391
392
Dodatek B Funkcje i właściwości SAX 2.0
Komunikowanie o przedrostku przestrzeni nazw
Włączenie tej funkcji powoduje, że parser informuje o atrybutach wykorzystywanych w deklara-
cjach przestrzeni nazw, czyli o atrybutach w rodzaju
xmlns:[przedrostek przestrze-
ni].
Kiedy funkcja ta nie jest włączona (przypisano jej wartość
false)
i parser przetwarza
atrybuty związane z przestrzeniami (w celu poznania odwzorowania przedrostków na identyfikatory
URI), nie informuje o tym. Ponadto, kiedy przetwarzanie przestrzeni nazw jest włączane, zazwy-
czaj odwzorowanie przedrostków zostaje wyłączone.
URI:
http://xml.org/sax/features/namespaces/namespace-prefixes
Dostęp — tylko do odczytu przy przetwarzaniu, do odczytu i zapisu w innych przypadkach.
Internalizacja łańcuchów
Włączenie tej funkcji powoduje, że wszystkie nazwy elementów (w postaci „surowej” oraz lokal-
ne), przedrostki oraz identyfikatory URI przestrzeni nazw są „internowane” za pomocą metody
java.lang.String.intern().
Kiedy funkcja jest wyłączona, wszystkie komponenty XML
pozostają nienaruszone.
URI:
http://xml.org/sax/features/string-interning
Dostęp — tylko do odczytu przy przetwarzaniu, do odczytu i zapisu w innych przypadkach.
Sprawdzanie poprawności
Włączenie tej funkcji powoduje, że będzie sprawdzana poprawność dokumentu, a wszystkie błędy
wynikłe z naruszenia zawężeń zostaną zgłoszone poprzez interfejs SAX
ErrorHandler
(jeśli
zarejestrowano odpowiednią implementację). Jeśli funkcji przypisano wartość
false,
sprawdza-
nie poprawności nie odbędzie się.
URI:
http://xml.org/sax/features/validation
Dostęp — tylko do odczytu przy przetwarzaniu, do odczytu i zapisu w innych przypadkach.
Przetwarzanie zewnętrznych encji (ogólnych)
Włączenie tej funkcji powoduje, że wszystkie ogólne (tekstowe) w danym dokumencie XML zo-
staną przetworzone.
URI:
http://xml.org/sax/features/external-general-entities
Dostęp — tylko do odczytu przy przetwarzaniu, do odczytu i zapisu w innych przypadkach.
Przetwarzanie zewnętrznych encji (parametrów)
Włączenie tej funkcji powoduje, że przetworzone zostaną wszystkie zewnętrzne parametry, w tym
te znajdujące się w zewnętrznych podzbiorach definicji DTD.
URI:
http://xml.org/sax/features/external-parameter-entities
Dostęp — tylko do odczytu przy przetwarzaniu, do odczytu i zapisu w innych przypadkach.
C:\Users\a_czajka\Dropbox\Informatyka\książki
informatyczne\Java i XML\B-08.DOC
strona
392
Podstawowe
właściwości
393
Podstawowe właściwości
Właściwości opisują obiekty wykorzystywane w procesie przetwarzania, szczególnie w czasie
pracy z procedurami obsługi takimi jak
LexicalHandler
i
DeclHandler,
które nie należą
do podstawowego zestawu procedur SAX 2.0 (te ostatnie to
EntityResolver, DTDHandler,
ContentHandler
oraz
ErrorHandler).
Każda właściwość może być tylko do odczytu lub
do odczytu i zapisu. Możliwe jest także, że określone funkcje da się modyfikować tylko w czasie
przetwarzania lub przeciwnie — tylko wtedy, gdy przetwarzanie się nie odbywa.
Procedura obsługi fragmentów leksykalnych
Właściwość ta umożliwia ustawienie (lub odczytanie ustawienia) implementacji
LexicalHan-
dler
wykorzystywanej do obsługi komentarzy i odwołań do definicji DTD występujących w do-
kumencie XML.
URI:
http://xml.org/sax/properties/lexical-handler
Typ danych:
org.xml.sax.ext.LexicalHandler
Dostęp: do odczytu i zapisu zarówno w czasie przetwarzania, jak i w innych przypadkach.
Procedura
obsługi deklaracji
Właściwość ta umożliwia ustawienie (lub odczytanie ustawienia) implementacji
DeclHandler
wykorzystywanej do obsługi zawężeń określonych w definicji DTD.
URI:
http://xml.org/sax/properties/declaration-handler
Typ danych:
org.xml.sax.ext.DeclHandler
Dostęp: do odczytu i zapisu zarówno w czasie przetwarzania, jak i w innych przypadkach.
Węzeł DOM
Kiedy odbywa się przetwarzanie, za pomocą tej właściwości można pobrać bieżący węzeł DOM
(o ile korzystamy z parsera DOM). W pozostałych przypadkach za pomocą tej właściwości pobie-
ra się węzeł główny DOM.
URI:
http://xml.org/sax/properties/dom-node
Typ danych:
org.w3c.dom.Node
Dostęp: tylko do odczytu przy przetwarzaniu, do odczytu i zapisu w innych przypadkach.
Dosłowny łańcuch XML
Za pomocą tej właściwości można pobrać ten tekst dosłowny znajdujący się w dokumencie, który
spowodował uruchomienie bieżącego zdarzenia (tj. zdarzenia, które trwa w czasie użycia tej
właściwości).
URI:
http://xml.org/sax/properties/xml-string
Typ danych:
java.lang.String
Dostęp: tylko do odczytu zarówno w czasie przetwarzania, jak i w innych przypadkach.
C:\Users\a_czajka\Dropbox\Informatyka\książki
informatyczne\Java i XML\B-08.DOC
strona
393
394
Dodatek B Funkcje i właściwości SAX 2.0
C:\Users\a_czajka\Dropbox\Informatyka\książki
informatyczne\Java i XML\B-08.DOC
strona
394
Zgłoś jeśli naruszono regulamin