Sdílet prostřednictvím


Správa oborů názvů v dokumentu XML

Obory názvů XML přidružují názvy elementů a atributů v dokumentu XML k vlastním a předdefinovaným identifikátorům URI. Chcete-li vytvořit tato přidružení, definujete předpony pro identifikátory URI oboru názvů a tyto předpony použijte k kvalifikace názvů elementů a atributů v datech XML. Obory názvů zabraňují kolizím názvů elementů a atributů a umožňují zpracování a ověřování prvků a atributů stejného názvu a jejich ověření odlišně.

Deklarace oborů názvů

Chcete-li deklarovat obor názvů u elementu xmlns: , použijte atribut:

xmlns:<name>=<"uri">

kde <name> je předpona oboru názvů a <"uri"> je identifikátor URI, který identifikuje obor názvů. Po deklaraci předpony ji můžete použít k kvalifikace prvků a atributů v dokumentu XML a jejich přidružení k identifikátoru URI oboru názvů. Vzhledem k tomu, že se předpona oboru názvů používá v celém dokumentu, měla by mít krátkou délku.

Tento příklad definuje dva BOOK prvky. První prvek je kvalifikovaný předponou mybooka druhý prvek je kvalifikovaný předponou, bb. Každá předpona je přidružená k jinému identifikátoru URI oboru názvů:

<mybook:BOOK xmlns:mybook="http://www.contoso.com/books.dtd">  
    <bb:BOOK xmlns:bb="urn:blueyonderairlines" />
</mybook:BOOK>

Chcete-li znaménko znaménka, že je prvek součástí určitého oboru názvů, přidejte do něj předponu oboru názvů. Například pokud Author prvek patří do mybook oboru názvů, je deklarován jako <mybook:Author>.

Rozsah deklarace

Obor názvů je účinný od bodu deklarace až do konce prvku, ve který byl deklarován. V tomto příkladu se obor názvů definovaný v elementu BOOK nevztahuje na elementy mimo BOOK element, například element Publisher :

<Author>Joe Smith</Author>  
<BOOK xmlns:book="http://www.contoso.com">  
    <title>My Wonderful Day</title>  
      <price>$3.95</price>  
</BOOK>  
<Publisher>  
    <Name>MSPress</Name>  
</Publisher>  

Obor názvů musí být deklarován před jeho použitím, ale nemusí se zobrazovat v horní části dokumentu XML.

Pokud v dokumentu XML používáte více oborů názvů, můžete definovat jeden obor názvů jako výchozí obor názvů a vytvořit tak přehlednější dokument. Výchozí obor názvů je deklarován v kořenovém elementu a vztahuje se na všechny nekvalifikované prvky v dokumentu. Výchozí obory názvů se vztahují pouze na elementy, nikoli na atributy.

Chcete-li použít výchozí obor názvů, vynecháte předponu a dvojtečku z deklarace elementu:

<BOOK xmlns="http://www.contoso.com/books.dtd">  
...
</BOOK>

Správa oborů názvů

Třída XmlNamespaceManager ukládá kolekci identifikátorů URI oboru názvů a jejich předpon a umožňuje vyhledávat, přidávat a odebírat obory názvů z této kolekce. V určitých kontextech je tato třída nutná k lepšímu výkonu zpracování XML. XsltContext Například třída používá XmlNamespaceManager pro podporu XPath.

Správce oboru názvů neprovádí žádné ověření oborů názvů, ale předpokládá, že předpony a obory názvů jsou již ověřeny a odpovídají specifikaci oborů názvů W3C.

Tady jsou některé úlohy správy a vyhledávání, které můžete s třídou provádět XmlNamespaceManager . Další informace a příklady najdete na odkazech na referenční stránku pro každou metodu nebo vlastnost.

Záměr Používání
Přidání oboru názvů AddNamespace Metoda
Odebrání oboru názvů RemoveNamespace Metoda
Vyhledání identifikátoru URI pro výchozí obor názvů DefaultNamespace Vlastnost
Vyhledání identifikátoru URI pro předponu oboru názvů LookupNamespace Metoda
Vyhledání předpony identifikátoru URI oboru názvů LookupPrefix Metoda
Získání seznamu oborů názvů v aktuálním uzlu GetNamespacesInScope Metoda
Obor názvů PushScope a PopScope metody
Kontrola, jestli je předpona definovaná v aktuálním oboru HasNamespace Metoda
Získání tabulky názvů používané k vyhledání předpon a identifikátorů URI NameTable Vlastnost

Viz také