Promocje Heliona
Bestsellery Heliona
4. Przetwarzanie atrybutów xml:id
Każdy atrybut xml:id jest przetwarzany w następujący sposób:
1. Wartość atrybutu xml:id podlega normom podobnym jak wartość atrybutu ID, określonym w specyfikacji XML 1.0 w podrozdziale attribute-value normalization. Więcej szczegółów na ten temat znajduje się w dodatku E.
Właściwość normalized value standardu infoset jest uaktualniana ze znormalizowaną wartością.
2. Przyporządkowanie typu ID jest wykonywane ze znormalizowaną wartością.
Procesor xml:id musi zapewnić, że następujące kryteria zostały spełnione dla wszystkich atrybutów xml:id.
- Znormalizowaną wartością atrybutu jest NCName zgodnie z rekomendacją Namespaces in XML w tej samej wersji co dokument, w którym występuje ten atrybut (NCName dla XML 1.0 lub NCName dla XML 1.1).
- Zadeklarowanym typem atrybutu, jeśli taki istnieje, jest "ID". Wszystkie deklaracje atrybutów xml:id muszą określać "ID" jako typ atrybutu.
Procesor xml:id powinien zapewnić, że następujące kryterium zostanie spełnione:
- Wartości wszystkich atrybutów typu "ID" (łącznie ze wszystkimi atrybutami xml:id) w danym dokumencie mają charakter unikalny.
Błąd xml:id pojawi się, jeśli którykolwiek z atrybutów xml:id nie spełni kryteriów.
Procesor xml:id przyporządkowuje wszystkie atrybuty xml:id do typu ID, nawet jeśli nie spełniają one kryteriów.
Procesor xml:id powinien uaktualniać właściwość references standardu infoset, jak zostało określone w rozdziale 2.3 dokumentu XML Information Set, a także uaktualniać specyficzne dla danej implementacji struktury używane do tworzenia odsyłaczy wzajemnych w celu odzwierciedlenia rezultatów przypisania typu ID.
Wiele technologii walidacji narzuca ograniczenie, mówiące, że jeden element XML może mieć najwyżej jeden atrybut typu ID. To ograniczenie nie jest narzucone przez przetwarzanie xml:id.
Niniejsza specyfikacja definiuje przetwarzanie xml:id, jednak określenie kiedy takie przetwarzanie nastąpi zależne jest od aplikacji. Użytkownicy aplikacji, które udostępniają funkcje modyfikowania dokumentów XML mogą spodziewać się przetwarzania xml:id za każdym razem, gdy zmieniona zostanie wartość atrybutu ID.
5. Informowanie aplikacji
Kiedy nastąpi przyporządkowanie typu ID procesor xml:id musi zaraportować aplikacji przyporządkowane atrybuty xml:id. Sposób, w jaki to nastąpi zależy od implementacji.
- Dla aplikacji, które operują konceptualnie na standardzie infoset, procesor xml:id może użyć właściwości standardu infoset attribute type:
Procesor xml:id może zaraportować wyniki przyporządkowania typu ID w sposób kompatybilny z DTD, poprzez ustawienie atrybutu właściwości standardu infoset attribute type na ID.
- Dla aplikacji, które operują konceptualnie na zbiorze informacji PSVI, procesor xml:id może użyć rodziny właściwości type definition zbioru PSVI:
Procesor xml:id może zaraportować wyniki przyporządkowania typu ID w sposób kompatybilny ze schematami XML poprzez ustawienie właściwości PSVI type definition atrybutu na xs:ID.
- Dla aplikacji operujących na modelach danych zdefiniowanych w inny sposób, mechanizmy te zależą od implementacji:
Procesor xml:id może zaraportować wyniki przyporządkowania typu ID w inny sposób.
Kluczowym wymaganiem jest, aby aplikacja została poinformowana o wynikach przyporządkowania typu ID.
Niniejszy dokument jest tłumaczeniem rekomendacji W3C xml:id Version 1.0. Tłumaczenie to nie ma statusu dokumentu normatywnego i może zawierać błędy wynikające z tłumaczenia. Tylko dokument znajdujący się na stronie W3C pod adresem http://www.w3.org/TR/2005/REC-xml-id-20050909/ ma charakter normatywny.
Copyright © 2004 W3C® (MIT, ERCIM, Keio), Wszystkie prawa zastrzeżone. W3C stosuje następujące zasady dotyczące odpowiedzialności cywilnej, znaku towarowego, używania dokumentu i licencji oprogramowania.