Поделиться через


XmlNode.BaseURI Свойство

Определение

Возвращает базовый универсальный код ресурса (URI) текущего узла.

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

Значение свойства

Расположение, из которого был загружен узел или String.Empty, если узел не имеет базового URI.

Комментарии

Сетевой XML-документ состоит из фрагментов данных, агрегированных с помощью различных стандартных механизмов включения W3C, поэтому содержит узлы, поступающие из разных мест. В этой BaseURI статье рассказывается, откуда пришли эти узлы.

Значение этого свойства зависит от типа узла. Например, узлы document возвращают расположение XmlDocument объекта. Узлы, которые являются дочерними узлами внешних узлов EntityReference, возвращают расположение самой сущности. Например, рассмотрим следующий XML-документ:

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

где внешняя сущность a/b.xml содержит XML-текст: <test>123</test>

Если документ загружен из http://server/mydata.xml, BaseURI возвращает следующее:

NodeType Имя Baseuri
Атрибут число http://server/mydata.xml
Документ #document http://server/mydata.xml
Тип документа item http://server/mydata.xml
Объект Xyz http://server/mydata.xml
Элемент item http://server/mydata.xml
EntityReference Xyz http://server/mydata.xml
Элемент test http://server/a/b.xml
Текст #text http://server/a/b.xml

BaseURI ищет границы ссылок на сущности, поэтому если сущности развернуты, эти сведения не сохраняются, и это свойство возвращает расположение XmlDocument объекта во всех случаях.

Во втором примере, учитывая следующий XML-документ:

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

Где DTD-файл содержит следующее:

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

Если XML-документ загружается из http://localhost/mydata.xml, BaseURI возвращает следующие значения для каждого узла:

NodeType Имя Baseuri
Документ #document http://localhost/mydata.xml
Тип документа Mydata http://localhost/mydata.xml

XmlDocumentType.PublicId Свойства XmlDocumentType.SystemId можно использовать для определения места загрузки DTD-файла.
Элемент Баа http://localhost/mydata.xml
Объект Xyz http://localhost/doctype.dtd
EntityReference Xyz http://localhost/mydata.xml
Атрибут Гав http://localhost/mydata.xml

Замечание

Базовый универсальный код ресурса (URI) атрибута по умолчанию совпадает с базовым универсальным кодом ресурса (URI) элемента, к которому они относятся.

Это свойство является расширением Майкрософт для объектной модели документов (DOM).

Применяется к