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

노드가 로드된 위치이거나 노드에 기본 URI가 없으면 String.Empty입니다.

설명

네트워크로 구성된 XML 문서는 다양한 W3C 표준 포함 메커니즘을 사용하여 집계된 데이터 청크로 구성되므로 서로 다른 위치에서 온 노드를 포함합니다. 이 BaseURI 노드는 이러한 노드의 위치를 알려줍니다.

이 속성의 값은 노드 유형에 따라 다릅니다. 예를 들어 문서 노드는 개체의 위치를 반환합니다 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 Name Baseuri
attribute num http://server/mydata.xml
문서 #document http://server/mydata.xml
DocumentType 항목 http://server/mydata.xml
엔터티 xyz http://server/mydata.xml
요소 항목 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 Name Baseuri
문서 #document http://localhost/mydata.xml
DocumentType Mydata http://localhost/mydata.xml

XmlDocumentType.SystemId 또는 XmlDocumentType.PublicId 속성을 사용하여 DTD 파일이 로드된 위치를 식별할 수 있습니다.
요소 Baa http://localhost/mydata.xml
엔터티 xyz http://localhost/doctype.dtd
EntityReference xyz http://localhost/mydata.xml
attribute woof http://localhost/mydata.xml

참고

기본 특성의 기본 URI는 해당 특성이 속한 요소의 기본 URI와 동일합니다.

이 속성은 DOM(문서 개체 모델)에 대한 Microsoft 확장입니다.

적용 대상