XmlEntity.BaseURI Property

Definition

Gets the base Uniform Resource Identifier (URI) of the current node.

public:
 virtual property System::String ^ BaseURI { System::String ^ get(); };
public override string BaseURI { get; }
member this.BaseURI : string
Public Overrides ReadOnly Property BaseURI As String

Property Value

The location from which the node was loaded.

Remarks

A networked XML document is comprised of chunks of data aggregated using various World Wide Web Consortium (W3C) standard inclusion mechanisms and therefore contains nodes that come from different places. The BaseURI tells you where these nodes came from.

The value of this property varies depending on the node type. Nodes which are children of external EntityReference nodes return the location of the entity itself. For example, consider the following XML document:

<!DOCTYPE item [  
<!ENTITY xyz SYSTEM "a/b.xml">  
]>  
<item num='123'>&xyz;</item>  

where the external entity a/b.xml contains the XML text <test>123</test>.

If the document is loaded from http://server/mydata.xml, BaseURI returns the following:

NodeType Name BaseURI
Attribute num http://server/mydata.xml
Document #document http://server/mydata.xml
DocumentType item http://server/mydata.xml
Entity xyz http://server/mydata.xml
Element item http://server/mydata.xml
EntityReference xyz http://server/mydata.xml
Element test http://server/a/b.xml
Text #text http://server/a/b.xml

BaseURI looks for entity reference boundaries, so if entities are expanded, this information is not preserved and this property returns the location of the XmlDocument object in all cases.

As a second example, given the following XML document:

<!DOCTYPE Mydata SYSTEM "http://localhost/doctype.dtd">  
<baa>&xyz;</baa>  

where the document type definition (DTD) file contains the following:

<!ENTITY xyz "<E1>My Data</E1>">  
<!ELEMENT baa #PCDATA>  
<!ATTLIST baa attr1 "woof">  

If the XML document is loaded from http://localhost/mydata.xml, BaseURI returns the following for each of the nodes:

NodeType Name BaseURI
Document #document http://localhost/mydata.xml
DocumentType Mydata http://localhost/doctype.dtd
Element baa http://localhost/mydata.xml
Entity xyz http://localhost/doctype.dtd
EntityReference xyz http://localhost/mydata.xml
Attribute woof http://localhost/mydata.xml

Note

The base URI of a default attribute is the same as the base URI of the element to which they belong.

This property is a Microsoft extension to the Document Object Model (DOM).

Applies to