XDocumentType.SystemId プロパティ

定義

このドキュメント型定義 (DTD) のシステム ID を取得または設定します。

public:
 property System::String ^ SystemId { System::String ^ get(); void set(System::String ^ value); };
public string SystemId { get; set; }
public string? SystemId { get; set; }
member this.SystemId : string with get, set
Public Property SystemId As String

プロパティ値

String

このドキュメント型定義 (DTD) のシステム ID が格納されている String

次の例では、外部プライベート DTD を参照する XML ドキュメントを作成します。 DTD には内部サブセットがありません。 コンストラクターの XDocumentType 呼び出しには、外部プライベート DTD の使用が反映されます。 内部サブセットに null 対して渡されます。

string pubsDtd =  
@"<!ELEMENT Pubs (Book+)>  
<!ELEMENT Book (Title, Author)>  
<!ELEMENT Title (#PCDATA)>  
<!ELEMENT Author (#PCDATA)>";  
File.WriteAllText("Pubs.dtd", pubsDtd);  

string target = "xml-stylesheet";  
string data = "href=\"mystyle.css\" title=\"Compact\" type=\"text/css\"";  

XDocument doc = new XDocument(  
    new XDocumentType("Pubs", null, "Pubs.dtd", null),  
    new XElement("Pubs",   
        new XElement("Book",  
            new XElement("Title", "Artifacts of Roman Civilization"),  
            new XElement("Author", "Moreno, Jordao")  
        ),  
        new XElement("Book",  
            new XElement("Title", "Midieval Tools and Implements"),  
            new XElement("Author", "Gazit, Inbar")  
        )  
    ),  
    new XComment("This is another comment.")  
);  
doc.Declaration = new XDeclaration("1.0", "utf-8", "true");  
doc.Save("Pubs.xml");  

// Validate Pubs.xml against Pubs.dtd.  
XmlReaderSettings xrs = new XmlReaderSettings();  
xrs.ProhibitDtd = false;  
xrs.ValidationType = ValidationType.DTD;  
xrs.ConformanceLevel = ConformanceLevel.Auto;  
XmlReader xr = XmlReader.Create("Pubs.xml", xrs);  
XDocument doc2 = XDocument.Load(xr);  

XDocumentType dt = doc2.Document.DocumentType;  
Console.WriteLine("SystemId:{0}", dt.SystemId);  
Dim pubsDtd As String = _   
    "<!ELEMENT Pubs (Book+)>" & Environment.NewLine & _  
    "<!ELEMENT Book (Title, Author)>" & Environment.NewLine & _  
    "<!ELEMENT Title (#PCDATA)>" & Environment.NewLine & _  
    "<!ELEMENT Author (#PCDATA)>"  
File.WriteAllText("Pubs.dtd", pubsDtd)  

Dim target As String = "xml-stylesheet"  
Dim data As String = "href='mystyle.css' title='Compact' type='text/css'"  

Dim doc As XDocument = _  
    <?xml version='1.0'?>  
    <Pubs>  
        <Book>  
            <Title>Artifacts of Roman Civilization</Title>  
            <Author>Moreno, Jordao</Author>  
        </Book>  
        <Book>  
            <Title>Midieval Tools and Implements</Title>  
            <Author>Gazit, Inbar</Author>  
        </Book>  
    </Pubs>  
    <!--This is another comment.-->  

doc _  
.FirstNode _  
.AddBeforeSelf(New XDocumentType("Pubs", Nothing, "Pubs.dtd", Nothing))  

doc.Declaration = New XDeclaration("1.0", "utf-8", "true")  
doc.Save("Pubs.xml")  

' Validate Pubs.xml against Pubs.dtd.  
Dim xrs As XmlReaderSettings = New XmlReaderSettings()  
xrs.ProhibitDtd = False  
xrs.ValidationType = ValidationType.DTD  
xrs.ConformanceLevel = ConformanceLevel.Auto  
Dim xr As XmlReader = XmlReader.Create("Pubs.xml", xrs)  
Dim doc2 As XDocument = XDocument.Load(xr)  

Dim dt As XDocumentType = doc2.Document.DocumentType  
Console.WriteLine("SystemId:{0}", dt.SystemId)  

この例を実行すると、次の出力が生成されます。

SystemId:Pubs.dtd  

注釈

XML ドキュメントで外部プライベート DTD を使用する場合、このプロパティには外部 DTD のプライベート識別子が含まれます。

適用対象

こちらもご覧ください