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

プロパティ値

ノードの読み込み元の場所。ノードにベース URI がない場合は String.Empty。

注釈

ネットワーク 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.xmlBaseURI場合は、次の値が返されます。

NodeType 名前 Baseuri
属性 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 #text http://server/a/b.xml

BaseURI はエンティティ参照境界を検索するため、エンティティが展開された場合、この情報は保持されず、このプロパティはすべてのケースでオブジェクトの場所を XmlDocument 返します。

2 番目の例として、次の 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.xmlBaseURI読み込まれる場合は、各ノードについて次を返します。

NodeType 名前 Baseuri
ドキュメント #document http://localhost/mydata.xml
DocumentType Mydata http://localhost/mydata.xml

XmlDocumentType.SystemIdまたは XmlDocumentType.PublicId プロパティを使用して、DTD ファイルの読み込み元を特定できます。
要素 バア http://localhost/mydata.xml
エンティティ xyz http://localhost/doctype.dtd
EntityReference xyz http://localhost/mydata.xml
属性 横糸 http://localhost/mydata.xml

注意

既定の属性のベース URI は、それらが属する要素のベース URI と同じです。

このプロパティは、ドキュメント オブジェクト モデル (DOM) の Microsoft 拡張機能です。

適用対象