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