Bonjour,

Je dispose de ces deux XSD :

create02.xsd
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="UTF-8"?>
 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://xml.netbeans.org/schema/create02"
    xmlns:tns="http://xml.netbeans.org/schema/create02"
    elementFormDefault="qualified">
    <xsd:element name="elements" type="tns:attributes"/>
    <xsd:complexType name="attributes">
        <xsd:sequence>
            <xsd:element name="objectClass" maxOccurs="unbounded" type="xsd:string"/>
            <xsd:element name="cn" maxOccurs="unbounded"/>
            <xsd:element name="sn"/>
            <xsd:element name="displayName" minOccurs="0"/>
            <xsd:element name="givenName" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="initials" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="mail" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="uid" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="userPassword" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:schema>
create01.xsd
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8"?>
 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://xml.netbeans.org/schema/create01"
    xmlns:tns="http://xml.netbeans.org/schema/create01"
    elementFormDefault="qualified">
    <xsd:include namespace="http://xml.netbeans.org/schema/create02" schemaLocation="/chemin_complet/create02.xsd" />
    <xsd:complexType name="attributes">
       <xsd:sequence>
            <xsd:element name="objectClass" maxOccurs="unbounded" type="xsd:string"/>
            <xsd:element name="ou" type="xsd:string"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="elements" type="tns:attributes"/>
</xsd:schema>
Comme vous le voyez, ces deux XSD se ressemblent beaucoup. Il y'a juste la séquence des éléments du "complexType" qui est différente.

"create01.xsd" fait un "import" de "create02.xsd".

J'aimerais pouvoir construire un XML valide contenant les éléments des 2 XSD.

voilà où j'en suis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8"?>
 
<elements  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
   xsi:schemaLocation='/chemin_complet/create01.xsd'
   xmlns='http://xml.netbeans.org/schema/create01'
   xmlns:toto='http://xml.netbeans.org/schema/create02'>
    <objectClass>ab</objectClass>
    <objectClass>cd</objectClass>
    <objectClass>ef</objectClass>
    <ou>org</ou>
    <toto:cn>myCN</toto:cn>
    <toto:sn>mySN</toto:sn>
    <toto:displayName>myDisplayName</toto:displayName>
    <toto:givenName>myGivenName</toto:givenName>
    <toto:initials>myInitials</toto:initials>
    <toto:mail>myMails</toto:mail>
    <toto:uid>myUID</toto:uid>
    <toto:userPassword>myPass</toto:userPassword>
</elements>
Bien entendu ce xml n'est pas valide, mais ça donne une idée de ce que je souhaiterais obtenir.

Pouvez-vous m'aider ?

Merci.