Compartilhar via


XmlNode.BaseURI Propriedade

Definição

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

Aplica-se a