I have a quite complex XSD structure file that is supposed to help us generate a report in XML, however the XSD is prone to change and one has to keep updating the base code. Wondering if there's any way to generate XML outputs using the xsd file itself?
The XSD has a lot of nested fields
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://-" " elementFormDefault="qualified" attributeFormDefault="unqualified" version="6-2">
<xs:include schemaLocation="--"/>
<xs:complexType name="Address_Structure">
<xs:choice>
<xs:element name="UnstructuredAddress" type="ns:UnstructuredAddress_Type"/>
<xs:element name="StructuredAddress" type="ns:StructuredAddress_Type" minOccurs="2" maxOccurs="5"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="ClinicalActivity_AE_Structure">
<xs:sequence>
<xs:element name="ClinicalActivityGroupOPCS" type="ns:ClinicalActivityGroupOPCS_Type" minOccurs="0"/>
<xs:element name="ClinicalActivityGroupREAD" type="ns:ClinicalActivityGroupREAD_Type" minOccurs="0"/>
<xs:element name="ClinicalTreatmentGroupAandE" type="ns:ClinicalTreatmentGroupAAndE_Type" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ClinicalActivity_Structure">
<xs:sequence>
<xs:element name="ClinicalActivityGroupOPCS" type="ns:ClinicalActivityGroupOPCS_Type" minOccurs="0"/>
<xs:element name="ClinicalActivityGroupREAD" type="ns:ClinicalActivityGroupREAD_Type" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ClinicalActivityGroupOPCS_Type">
<xs:sequence>
<xs:element name="ProcedureSchemeInUse" type="ns:ProcedureSchemeInUse_Type"/>
<xs:element name="PrimaryProcedureGroupOPCS">
<xs:complexType mixed="false">
<xs:sequence>
<xs:element name="PrimaryProcedure_OPCS" type="ns:PrimaryProcedure_OPCS_Type"/>
<xs:element name="ProcedureDate" type="ns:ProcedureDate_Type" minOccurs="0"/>
<xs:element name="MainOperatingHCP" type="ns:ProfessionalsInvolved_Structure" minOccurs="0"/>
<xs:element name="ResponsibleAnaesthetist" type="ns:ProfessionalsInvolved_Structure" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SecondaryProcedureGroupOPCS" minOccurs="0" maxOccurs="unbounded">
<xs:complexType mixed="false">
<xs:sequence>
<xs:element name="SecondaryProcedure_OPCS" type="ns:Procedure_OPCS_Type"/>
<xs:element name="ProcedureDate" type="ns:ProcedureDate_Type" minOccurs="0"/>
<xs:element name="MainOperatingHCP" type="ns:ProfessionalsInvolved_Structure" minOccurs="0"/>
<xs:element name="ResponsibleAnaesthetist" type="ns:ProfessionalsInvolved_Structure" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>