Bonjour,
Voilà la situation, j'ai des balises <urls> qui contiennent chacune 0 ou n balise(s) <url> possédant un attribut name.
Je voudrais que cet attribut soit unique pour les <url> contenues dans une même balise <urls> mais que je puisse avoir le même pour deux <url> contenues dans des <urls> différentes (je ne suis pas sûr d'être clair ).
Donc tout d'abord est-ce possible ?
Si oui comment ?
Voici un exemple de XML qui serait valide mais qui ne le serait plus si on décommente la ligne commentée [edit]il y a apparement un problème avec la coloration syntaxique, seul le début de la ligne est commenté[/edit]
Voici également mon XSD actuel (ne gérant donc pas cette restriction)
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 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <drivers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="drivers.xsd"> <driver name="PostgreSQL-8.0-311" class="org.postgresql.Driver"> <urls> <url name="Default">jdbc:postgresql://$location$database</url> </urls> </driver> <driver name="HSQLDB" class="org.hsqldb.jdbcDriver"> <urls> <url name="Server">jdbc:hsqldb:hsql://$location$database</url> <url name="File">jdbc:hsqldb:file:$location$database</url> </urls> </driver> <driver name="Derby" class="org.apache.derby.jdbc.EmbeddedDriver"> <urls> <url name="Default">jdbc:derby:$location$database</url> <!-- <url name="Default">jdbc:derby:...</url> --> </urls> </driver> </drivers>Merci d'avance pour votre aide.
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
31
32
33
34
35
36
37
38
39
40
41 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xsd:complexType name="drivers"> <xsd:sequence> <xsd:element ref="driver" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="drivers" type="drivers"/> <xsd:complexType name="driver"> <xsd:sequence> <xsd:element ref="urls"/> </xsd:sequence> <xsd:attribute name="name" type="xsd:ID" use="required"/> <xsd:attribute name="class" type="xsd:string" use="required"/> </xsd:complexType> <xsd:element name="driver" type="driver"/> <xsd:complexType name="urls"> <xsd:sequence> <xsd:element ref="url" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="urls" type="urls"/> <xsd:simpleType name="fullString"> <xsd:restriction base="xsd:string"> <xsd:pattern value=".*[^ ].*"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="url" mixed="true"> <xsd:simpleContent> <xsd:extension base="fullString"> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:element name="url" type="url"/> </xsd:schema>
Partager