question about XML schema in vs2005  
Author Message
Tyrael Tong





PostPosted: XML and the .NET Framework, question about XML schema in vs2005 Top

Hi, I encountered a problem when use Visual Studio 2005's schema editor. Say I have a Page element, this element contains exactly one element named Group, and this Group can contains any number of Groups, I could write schema like that:

<xs:element name="Group">
<xs:complexType>
<xs:sequence>
<xs:element ref="Group" />
</xs:sequence>
</xs:complexType>
</xs:element>

This works fine, but when I try to add this Group as Page's child element, Visual Studio 2005 said there's something wrong with it!

<xs:element name="Page">
<xs:complexType>
<xs:sequence>
<xs:element name="Group" type="Group" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="Group">
<xs:complexType>
<xs:sequence>
<xs:element ref="Group" />
</xs:sequence>
</xs:complexType>
</xs:element>

replace type with ref will get another error.

<xs:element name="Page">
<xs:complexType>
<xs:sequence>
<xs:element ref="Group" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="Group">
<xs:complexType>
<xs:sequence>
<xs:element ref="Group" />
</xs:sequence>
</xs:complexType>
</xs:element>

So how could I write a chema to satisfy my requirement


.NET Development23  
 
 
Martin Honnen





PostPosted: XML and the .NET Framework, question about XML schema in vs2005 Top


<xs:element name="Group">
<xs:complexType>
<xs:sequence>
<xs:element ref="Group" />
</xs:sequence>
</xs:complexType>
</xs:element>

Somehow the recursion has to end so have you tried e.g.

<xs:element name="Group">
<xs:complexType>
<xs:sequence>
<xs:element ref="Group" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>

What error exactly do you get



 
 
Tyrael Tong





PostPosted: XML and the .NET Framework, question about XML schema in vs2005 Top

Hi Martin, thanks for your response!
Now the problem is solved after I changed the targetUri.