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 |
---|---|---|
attribute | num | http://server/mydata.xml |
Документ | #document | http://server/mydata.xml |
DocumentType; | item | http://server/mydata.xml |
Сущность | xyz | http://server/mydata.xml |
Элемент | item | http://server/mydata.xml |
EntityReference | xyz | http://server/mydata.xml |
Элемент | номер | 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 |
DocumentType; | 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 |
attribute | Гав | http://localhost/mydata.xml |
Примечание
Базовый универсальный код ресурса (URI) атрибута по умолчанию совпадает с базовым универсальным кодом ресурса (URI) элемента, к которому они принадлежат.
Это свойство является расширением Microsoft для объектной модели документа (DOM).