XmlNode.BaseURI Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém o URI base do nó atual.
public:
virtual property System::String ^ BaseURI { System::String ^ get(); };
public virtual string BaseURI { get; }
member this.BaseURI : string
Public Overridable ReadOnly Property BaseURI As String
Valor da propriedade
O local do qual o nó foi carregado ou String.Empty se o nó não tiver nenhum URI de base.
Comentários
Um documento XML em rede é composto por partes de dados agregados usando vários mecanismos de inclusão padrão W3C e, portanto, contém nós provenientes de locais diferentes. O BaseURI
diz de onde vieram esses nós.
O valor dessa propriedade varia dependendo do tipo de nó. Por exemplo, nós de documento retornam o local do XmlDocument objeto. Nós que são nós filho de nós EntityReference externos retornam o local da própria entidade. Por exemplo, considere o seguinte documento XML:
<!DOCTYPE item [
<!ENTITY xyz SYSTEM "a/b.xml">
]>
<item num='123'>&xyz;</item>
em que a entidade a/b.xml
externa contém o texto XML: <test>123</test>
.
Se o documento for carregado de http://server/mydata.xml
, BaseURI
retornará o seguinte:
NodeType | Nome | Baseuri |
---|---|---|
Atributo | num | http://server/mydata.xml |
Documento | #document | http://server/mydata.xml |
DocumentType | item | http://server/mydata.xml |
Entidade | xyz | http://server/mydata.xml |
Elemento | item | http://server/mydata.xml |
EntityReference | xyz | http://server/mydata.xml |
Elemento | test | http://server/a/b.xml |
Texto | #text | http://server/a/b.xml |
BaseURI
procura limites de referência de entidade, portanto, se as entidades forem expandidas, essas informações não serão preservadas e essa propriedade retornará o local do XmlDocument
objeto em todos os casos.
Como segundo exemplo, considerando o seguinte documento XML:
<!DOCTYPE Mydata SYSTEM "http://localhost/doctype.dtd">
<baa>&xyz;</baa>
em que o arquivo DTD contém o seguinte:
<!ENTITY xyz <E1>My Data</E1>
<!ELEMENT baa #PCDATA>
<!ATTLIST baa attr1 "woof">
Se o documento XML for carregado de http://localhost/mydata.xml
, BaseURI
retornará o seguinte para cada um dos nós:
NodeType | Nome | Baseuri |
---|---|---|
Documento | #document | http://localhost/mydata.xml |
DocumentType | Mydata | http://localhost/mydata.xml As XmlDocumentType.SystemId propriedades ou XmlDocumentType.PublicId podem ser usadas para identificar de onde o arquivo DTD foi carregado. |
Elemento | Baa | http://localhost/mydata.xml |
Entidade | xyz | http://localhost/doctype.dtd |
EntityReference | xyz | http://localhost/mydata.xml |
Atributo | Woof | http://localhost/mydata.xml |
Observação
O URI base de um atributo padrão é o mesmo que o URI base do elemento ao qual eles pertencem.
Essa propriedade é uma extensão da Microsoft do DOM (Modelo de Objeto do Documento).