Share via


Naamruimten beheren in een XML-document

XML-naamruimten koppelen element- en kenmerknamen in een XML-document aan aangepaste en vooraf gedefinieerde URI's. Als u deze koppelingen wilt maken, definieert u voorvoegsels voor naamruimte-URI's en gebruikt u deze voorvoegsels om element- en kenmerknamen in XML-gegevens te kwalificeren. Naamruimten voorkomen conflicten tussen elementen en kenmerken en maken het mogelijk om elementen en kenmerken van dezelfde naam anders te verwerken en te valideren.

Naamruimten declareren

Als u een naamruimte wilt declareren voor een element, gebruikt u het xmlns: kenmerk:

xmlns:<name>=<"uri">

waar <name> is het voorvoegsel van de naamruimte en <"uri"> is de URI die de naamruimte identificeert. Nadat u het voorvoegsel hebt declareren, kunt u het gebruiken om elementen en kenmerken in een XML-document te kwalificeren en deze te koppelen aan de naamruimte-URI. Omdat het voorvoegsel van de naamruimte in een document wordt gebruikt, moet het kort zijn.

In dit voorbeeld worden twee BOOK elementen gedefinieerd. Het eerste element wordt gekwalificeerd door het voorvoegsel, mybooken het tweede element wordt gekwalificeerd door het voorvoegsel. bb Elk voorvoegsel is gekoppeld aan een andere naamruimte-URI:

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

Als u wilt laten zien dat een element deel uitmaakt van een bepaalde naamruimte, voegt u het voorvoegsel van de naamruimte eraan toe. Als een Author element bijvoorbeeld deel uitmaakt van de mybook naamruimte, wordt dit gedeclareerd als <mybook:Author>.

Bereik van declaratie

Een naamruimte is van kracht vanaf het declaratiepunt tot het einde van het element waarin deze is gedeclareerd. In dit voorbeeld is de naamruimte die in het BOOK element is gedefinieerd, niet van toepassing op elementen buiten het BOOK element, zoals het Publisher element:

<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>  

Een naamruimte moet worden gedeclareerd voordat deze kan worden gebruikt, maar deze hoeft niet boven aan het XML-document te worden weergegeven.

Wanneer u meerdere naamruimten in een XML-document gebruikt, kunt u één naamruimte definiëren als de standaardnaamruimte om een schoner uitziend document te maken. De standaardnaamruimte wordt gedeclareerd in het hoofdelement en is van toepassing op alle niet-gekwalificeerde elementen in het document. Standaardnaamruimten zijn alleen van toepassing op elementen, niet op kenmerken.

Als u de standaardnaamruimte wilt gebruiken, laat u het voorvoegsel en de dubbele punt uit de declaratie op het element weg:

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

Naamruimten beheren

In de XmlNamespaceManager klasse wordt een verzameling naamruimte-URI's en de bijbehorende voorvoegsels opgeslagen en kunt u naamruimten uit deze verzameling opzoeken, toevoegen en verwijderen. In bepaalde contexten is deze klasse vereist voor betere prestaties van XML-verwerking. De klasse gebruikt XmlNamespaceManager bijvoorbeeld XsltContext voor XPath-ondersteuning.

De naamruimtebeheerder voert geen validatie uit voor de naamruimten, maar gaat ervan uit dat voorvoegsels en naamruimten al zijn geverifieerd en voldoen aan de W3C-naamruimtenspecificatie .

Notitie

LINQ TO XML in C# en Visual Basic worden niet gebruikt XmlNamespaceManager om naamruimten te beheren. Zie Werken met XML-naamruimten (C#) en werken met XML-naamruimten (Visual Basic) in de LINQ-documentatie voor informatie over het beheren van naamruimten bij het gebruik van LINQ naar XML.

Hier volgen enkele beheer- en opzoektaken die u met de XmlNamespaceManager klasse kunt uitvoeren. Volg de koppelingen naar de referentiepagina voor elke methode of eigenschap voor meer informatie en voorbeelden.

Tot Gebruik
Een naamruimte toevoegen AddNamespace Methode
Een naamruimte verwijderen RemoveNamespace Methode
De URI voor de standaardnaamruimte zoeken DefaultNamespace Eigenschap
De URI zoeken voor een naamruimtevoorvoegsel LookupNamespace Methode
Het voorvoegsel voor een naamruimte-URI zoeken LookupPrefix Methode
Een lijst met naamruimten ophalen in het huidige knooppunt GetNamespacesInScope Methode
Bereik van een naamruimte PushScope en PopScope methoden
Controleren of een voorvoegsel is gedefinieerd in het huidige bereik HasNamespace Methode
De naamtabel ophalen die wordt gebruikt om voorvoegsels en URI's op te zoeken NameTable Eigenschap

Zie ook