私はクラスを持っています:
class Node{
Public string Name;
Public Node LeftNode;
Public Node RightNode;
}
そのクラスを使用して、ノードのツリーを作成できます。そのツリーを xml で表現したいと思います。
現在、私の XML スキーマは次のようになっています。
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Node" >
<xs:complexType>
<xs:all>
<xs:element name="Name" type="xs:string" />
<xs:element name="RightNode">
<!-- I need help here -->
</xs:element>
<xs:element name="LeftNode">
<!-- I need help here -->
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
そのおかげで、私はビジュアル スタジオに精通しており、次の xml を作成できます。
<?xml version="1.0" encoding="iso-8859-1"?>
<Node xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="Path_Where_Xsd_File_IsLocated.xsd">
<Name>Test></Name>
<RightNode></RightNode>
<LeftNode></LeftNode>
</Node>
私が抱えている問題は、ネストされた子供を持つことができるようにしたいということです。言い換えれば、私は次のようなものを構築できるようにしたいと考えています:
<?xml version="1.0" encoding="iso-8859-1"?>
<Node xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="Path_Where_Xsd_File_IsLocated.xsd">
<Name>Test></Name>
<RightNode>
<Node>
<Name>SomeChildName</Name>
</Node>
</RightNode>
<LeftNode></LeftNode>
</Node>
その 3 つを構築することはできますが、子ノードの入力を開始すると、xml で実行したい検証と同様にインテリジェンスが機能しません。
私は次のことを試しました:
<xsd:element name="RightNode" >
<xsd:complexType>
<xsd:all>
<xs:element ref="Node">
</xsd:all>
</xsd:complexType>
</xsd:element>
インテリジェンスが引き続き子ノードで機能するように、xml スキーマ (xsd ファイル) を修正するにはどうすればよいですか?