У меня есть главный xsd-файл, скажем «Master.xsd», который импортирует другой xsd «LinckerXSD1» внутри него.
Я хочу скопировать схему LinckerXSD1 в Master, чтобы он привел к другому файлу xsd.
Это нужно делать рекурсивно, это означает, что Master.xsd может иметь более одного оператора импорта, а LinckerXSD1 может импортировать другой xsd внутри него !!!
Master.xsd :-
<xs:import namespace="file:////home/i88691/work-Area/xsdLinker/LinckerXSD1.xsd" schemaLocation="LinckerXSD1.xsd"/>
<xs:element name="school">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Addresses" minOccurs="0" nillable="true">
<xs:complexType>
<xs:sequence>
<xs:element name="Entry" type="Address" minOccurs="0" maxOccurs="unbounded" nillable="true" xmlns="file:////home/i88691/work-Area/xsdLinker/LinckerXSD1.xsd"/>
</xs:sequence>
</xs:complexType>
</xs:element>
LinckerXSD1 :-
<xs:element name="Entry">
<xs:complexType>
<xs:sequence>
<xs:element name="hosename" type="xs:string"/>
<xs:element name="hoseplase" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Required Output :-
<xs:import namespace="file:////home/i88691/work-Area/xsdLinker/LinckerXSD1.xsd" schemaLocation="LinckerXSD1.xsd"/>
<xs:element name="school">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Entry">
<xs:complexType>
<xs:sequence>
<xs:element name="hosename" type="xs:string"/>
<xs:element name="hoseplase" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>