合并将另一个xsd作为单个xsd导入的xsd

2024-06-25 23:21:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个主xsd文件说“主.xsd在其中导入另一个xsd“LinckerXSD1”。 我想把LinckerXSD1的模式复制到Master,这样它就会产生另一个xsd文件。 这需要递归地进行主.xsd可能有多个import语句的&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>

Tags: nameimporthomestringtypeareaelementfile
1条回答
网友
1楼 · 发布于 2024-06-25 23:21:27

你可以手工完成(就像你一直在做的那样),或者有很多工具可以帮你完成,看看Liquid Studio-Flatten Schema。这不会扩展现有的定义,但会将所有内容放在一个文件中。你知道吗

注意:只有当所有XSD共享同一个targetnamespace时,才能将多个XSD折叠为一个XSD。你知道吗

相关问题 更多 >