To be able to reference an element, you must make it global. In other words, you must transfer the Item declaration directly under the xsd:schema element . In your case, at the same level as TWM_SAD
This is your corrected and syntactically valid XSD:
<?xml version="1.0" encoding="utf-8"?> <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="TWM_SAD"> <xsd:complexType> <xsd:sequence> <xsd:element name="Export_release"> <xsd:complexType> <xsd:sequence> <xsd:element type="xsd:string" name="Date_of_exit"/> <xsd:element type="xsd:string" name="Time_of_exit"/> <xsd:element type="xsd:string" name="Actual_office_of_exit_code"/> <xsd:element type="xsd:string" name="Actual_office_of_exit_name"/> <xsd:element type="xsd:string" name="Exit_reference"/> <xsd:element type="xsd:string" name="Comments"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Assessment_notice"> <xsd:complexType> <xsd:sequence> <xsd:element type="xsd:short" name="Registration_year"/> <xsd:element type="xsd:string" name="Assessment_year"/> <xsd:element type="xsd:float" name="Total_item_taxes"/> <xsd:element type="xsd:string" name="Statement_number"/> <xsd:element type="xsd:string" name="Statement_date"/> <xsd:element type="xsd:string" name="Statement_serial"/> <xsd:element ref="Item" maxOccurs="unbounded" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Item"> <xsd:complexType> <xsd:sequence> <xsd:element type="xsd:string" name="Tax_code"/> <xsd:element type="xsd:string" name="Tax_description"/> <xsd:element type="xsd:string" name="Tax_amount"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>
Petru Gardea Oct. 25 '12 at 18:22 2012-10-25 18:22
source share