Partilhar via


Suporte a namespace no DOM

O DOM (Document Object Model) XML reconhece completamente namespace. Somente documentos XML com reconhecimento de namespace são suportados. O W3C (World Wide Web Consortium) especifica que os aplicativos DOM que implementam o Nível 1 podem não reconhecer namespace e os recursos do DOM Nível 2 reconhecem namespace. No entanto, todos os recursos no DOM XML reconhecem namespace, independentemente se o método é da Recomendação DOM de Nível 1 ou Nível 2.

Por exemplo, em uma configuração sem reconhecimento de namespace, chamar setAttribute("A:b", "123"), conforme especificado na Recomendação de Nível 1 do DOM, não resulta em um atributo com um prefixo de A e um nome local de b. Isso resultaria em um atributo com o valor A:b.

Em um ambiente com reconhecimento de namespace, a chamada para o DOM Nível 2 setAttribute("A:b", "123") resulta em um atributo com um prefixo de A e um nome local de b. É assim que o Microsoft .NET Framework DOM funciona.

Portanto, para todos os métodos que usam um parâmetro name, esses métodos também usam um prefixo para qualificar o nome. O parâmetro name, como o A:bno método setAttribute DOM Nível 1, é analisado da seguinte forma:

  • Se não houver dois pontos (:) caracteres, o nome local será definido como o name parâmetro e o prefixo e NamespaceURI serão cadeias de caracteres vazias.

  • Se dois pontos forem encontrados, o nome será dividido em duas partes com base na posição do primeiro caractere de dois pontos. O prefixo é definido como a cadeia de caracteres encontrada antes dos dois pontos, e o nome local é definido como a cadeia de caracteres encontrada após os dois pontos. Para métodos que não usam um valor NamespaceURI, o NamespaceURI não é resolvido e permanece definido como cadeia de caracteres vazia. Caso contrário, o NamespaceURI é definido como a cadeia de caracteres passada para o método. Se o prefixo for indefinido, o método Save e as propriedades InnerXml e OuterXml falharão.

Consulte também