Sdílet prostřednictvím


Podpora oboru názvů v modelu DOM

Objektový model dokumentu XML (DOM) je plně pracující s oborem názvů. Podporují se pouze dokumenty XML pracující s oborem názvů. Konsorcium W3C (World Wide Web Consortium) určuje, že aplikace MODELU DOM, které implementují úroveň 1, mohou být bez oboru názvů a funkce DOM Level 2 jsou pracující s oborem názvů. Všechny funkce v modelu XML DOM jsou však s ohledem na obor názvů, bez ohledu na to, jestli je metoda z doporučení MODELU DOM úrovně 1 nebo úrovně 2.

Například v nastavení bez oboru názvů volání setAttribute("A:b", "123"), jak je uvedeno v doporučení DOM Level 1, nemá za následek atribut s předponou A a místním názvem b. Výsledkem by byl atribut s hodnotou A:b.

V prostředí pracujícím s oborem názvů má volání doM Level 2 setAttribute("A:b", "123") za následek atribut s předponou A a místním názvem b. Takto funguje model DOM rozhraní Microsoft .NET Framework.

Proto pro všechny metody, které přebírají parametr názvu, tyto metody také převezmou předponu kvalifikovat název. Parametr name, například A:b v metodě setAttribute DOM Level 1, se parsuje takto:

  • Pokud neexistují žádné dvojtečky (:) znaky, místní název se nastaví na name parametr a předpona a identifikátor NamespaceURI jsou prázdné řetězce.

  • Pokud se najde dvojtečka, název se rozdělí do dvou částí na základě pozice prvního dvojtečky. Předpona je nastavena na řetězec nalezen před dvojtečku a místní název je nastaven na řetězec nalezen za dvojtečku. U metod, které nepřebírají hodnotu NamespaceURI, se identifikátor NamespaceURI nepřeloží a zůstane nastavený na prázdný řetězec. Jinak je identifikátor NamespaceURI nastaven na řetězec předaný metodě. Pokud je předpona nedefinována, vlastnosti Save metoda a InnerXml a OuterXml selžou.

Viz také