philevans82
Programmer
I need some help! The problem I have is that a "menu" can have a nested "menu". That works okay. But the problem is that after a nested menu, there could be a menuitem and the current XSD i have done below doesnt allow for that. Please help!
I have the following XSD
and the following XML file
I have the following XSD
Code:
<xs:schema xmlns:xs="[URL unfurl="true"]http://www.w3.org/2001/XMLSchema">[/URL]
<xs:element name="frame" type="frameTYPE"/>
<xs:complexType name="frameTYPE">
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="menubar" minOccurs="0" maxOccurs="1" type="menubarTYPE"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="menubarTYPE">
<xs:sequence>
<xs:element name="menu" minOccurs="0" maxOccurs="unbounded" type="menuTYPE"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="menuTYPE">
<xs:sequence>
<xs:element name="title" type="xs:string" maxOccurs="1"/>
<xs:element name="menuitem" type="menuitemTYPE" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="menu" type="menuTYPE" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="menuitemTYPE">
<xs:all>
<xs:element name="icon" minOccurs="0" maxOccurs="1" type="xs:string"/>
<xs:element name="title" type="xs:string"/>
<xs:element name="action" minOccurs="0" maxOccurs="1" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:schema>
and the following XML file
Code:
<frame>
<title>Test</title>
<menubar>
<menu>
<title>File</title>
<menuitem>
<icon>WordIcon2.jpg</icon>
<title>New...</title>
<action>newRecord()</action>
</menuitem>
</menu>
<menu>
<title>File</title>
<menuitem>
<icon>WordIcon2.jpg</icon>
<title>New...</title>
<action>newRecord()</action>
</menuitem>
</menu>
<menu>
<title>File</title>
<menuitem>
<icon>WordIcon2.jpg</icon>
<title>New...</title>
<action>newRecord()</action>
</menuitem>
<menu>
<title>File</title>
<menuitem>
<icon>WordIcon2.jpg</icon>
<title>New...</title>
<action>newRecord()</action>
</menuitem>
<menuitem>
<icon>WordIcon2.jpg</icon>
<title>New...</title>
<action>newRecord()</action>
</menuitem>
</menu>
<menuitem>
<icon>WordIcon2.jpg</icon>
<title>New...</title>
<action>newRecord()</action>
</menuitem>
</menu>
</menubar>
</frame>