Bonjour a tous,

J'ai un cas de xml particulier que j'aimerai valider par un XSD. Voici mon xml :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?xml version="1.0" encoding="utf-8"?>
<Racine>
  <Actions>
    <Action_ColumnMerge />
    <Action_ApplyRule />
    <Action_ColumnSplit />
    <Action_ApplyRule />
    <Action_ColumnMerge />
    <Action_ApplyRule />
    <Action_ColumnMerge />
    <Action_ColumnMerge />
  </Actions>
</Racine>
Chaque balise Action_ColumnMerge, Action_ApplyRule, Action_ColumnSplit peut revenir un nombre indéterminé de fois, et ce dans n'importe quel ordre.

Du coup la séquence ne me convient pas (l'ordre n'est pas strict dans mon cas), le Choice et le All non plus.

J'ai trouvé une manière de contourner l'affaire en structurant mon xml de cette manière :

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
22
23
24
25
26
27
28
29
30
 
<?xml version="1.0" encoding="utf-8"?>
<Racine>
  <Actions>
    <Action>
      <Action_ColumnMerge />
    </Action>
    <Action>
      <Action_ApplyRule />
    </Action>
    <Action>
      <Action_ColumnSplit />
    </Action>
    <Action>
      <Action_ApplyRule />
    </Action>
    <Action>
      <Action_ColumnMerge />
    </Action>
    <Action>
      <Action_ApplyRule />
    </Action>
    <Action>
      <Action_ColumnMerge />
    </Action>
    <Action>
      <Action_ColumnMerge />
    </Action>
  </Actions>
</Racine>
Dans ce cas, J'ai une séquence d'"Action" en maxoccurs="unbounded", et l'intérieur est un choice d'une des 3 balises.

Je ne trouve pas ca très élégant, et on peut difficilement modifier la structure xml qui est généré par un outil existant.

Connaissez vous un moyen de valider la première structure ?