Думаю, вам следует упростить основной файл схемы. похоже, что вы пытаетесь использовать сложный тип, определенный в файле saudiedi.xsd, но вы пытаетесь обернуть его другим сложным типом и снова определяете группы атрибутов локально. это вызывает всевозможные ошибки.
Если вы удалите все это из основного файла схемы
<xsd:element name="record" type="sau:recordType" />
<xsd:attributeGroup name="id-ref">
<xsd:attribute name="id" type="sau:msgIDType" use="required"/>
</xsd:attributeGroup>
<xsd:attributeGroup name="docType-ref">
<xsd:attribute name="docType" fixed="MAF" use="required"/>
</xsd:attributeGroup>
<xsd:attributeGroup name="msgType-ref">
<xsd:attribute name="msgType" fixed="TRFSTS" use="required"/>
</xsd:attributeGroup>
<!-- SaudiEdi Framework -->
<xsd:complexType name="saudiediTrfStsType">
<xsd:complexContent>
<xsd:restriction base="sau:saudiEDIType">
<xsd:sequence>
<xsd:element ref="trfSts:record" maxOccurs="999" />
</xsd:sequence>
<xsd:attributeGroup ref="trfSts:docType-ref" />
<xsd:attributeGroup ref="trfSts:id-ref"/>
<xsd:attributeGroup ref="trfSts:msgType-ref"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
и замените
<xsd:element name="saudiEDI" type="trfSts:saudiediTrfStsType" />
на это:
<xsd:element name="saudiEDI" type="sau:saudiEDIType" />
больше не будет ошибок, и я думаю, что это даст вам то, что вы изначально намеревались достичь.