Ogólne#
Attr#
W tym miejscu umieszczam powtarzające się specyficzne pojęcia i algorytmy w interfejsie Attr.
Pojęcia#
namespace
namespace prefix
local name
value
element
Atrybuty są skojarzone z przestrzenią nazw # (namespace) [wartość null
lub niepsuty łańcuch znakowy], prefiksem przestrzeni nazw # (namespace prefix) [wartość null
lub niepsuty łańcuch znakowy], nazwą lokalną # (local name) [niepsuty łańcuch znakowy], wartością # (value) [łańcuch znakowy] oraz elementem # (element) [wartość null
lub węzeł elementowy].
Jeśli dzisiaj przyszłoby ponownie zaprojektować atrybuty to miałyby one jedynie nazwę i wartość.
qualified name
Nazwą kwalifikowaną # (qualified name) dla danego atrybutu jest jego nazwa lokalna jeśli jego prefiks przestrzeni nazw ma wartość null
, w przeciwnym razie jest nią jego prefiks przestrzeni nazw, po którym następuje znak ":
" (U+003A
), po którym następuje jego nazwa lokalna.
W ramach pewnej optymalizacji aplikacje klienckie mogą implementować nazwę kwalifikowaną jako wewnętrzny stan atrybutu, ale nie jest to obowiązkowe. Specyfikacja DOM4 wprowadza dodatkowe pojęcie wyłącznie w celu poprawy czytelności.
Przy tworzeniu atrybutu jego nazwa lokalna musi zostać podana. O ile wyraźnie nie ustalono przy tworzeniu atrybutu, to jego przestrzeń nazw, prefiks przestrzeni nazw oraz element mają wartość null
, a także jego wartość jest ustawiana na pusty łańcuch znakowy.
Analogia między definicjami XML a wewnętrznymi stanami atrybutu używanymi przez specyfikację DOM:
- Nazwa przestrzeni nazw (XML) - Przestrzeń nazw (DOM)
- Prefiks przestrzeni nazw (XML) - Prefiks przestrzeni nazw (DOM)
- Nazwa kwalifikowana (XML) - Nazwa kwalifikowana (DOM)
- Część lokalna (XML) - Nazwa lokalna (DOM)
Atrybutem A
Atrybutem A # (attribute A) jest atrybut, którego nazwą lokalną jest A oraz którego przestrzeń nazw i prefiks przestrzeni nazw mają wartość null
.