XSD - probleme pour gerer un attribute
Bonjour tout le monde :)
J'ai (une fois de plus) un petit souci avec les schema XSD. J'aimerai ajouter un attribute a un element, mais j'ai beau modifier le code dans tous les sens, impossible d'avoir un XSD valide suite a ca :(
Code du XSD:
Code:
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| <?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ia="urn:ItemAny" targetNamespace="urn:ItemAny" elementFormDefault="qualified">
<!-- Elements et attributs simples de base -->
<xsd:group name="basic-elements">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="desc" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:group>
<xsd:group name="authentification-elements">
<xsd:sequence>
<xsd:element name="userId" type="xsd:positiveInteger"/>
<xsd:element name="appAuth" type="xsd:string"/>
<xsd:element name="appPass" type="xsd:string"/>
</xsd:sequence>
</xsd:group>
<xsd:group name="object-elements">
<xsd:sequence>
<xsd:element name="param" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:group>
<xsd:attributeGroup name="basic-attributes">
<xsd:attribute name="id" type="xsd:positiveInteger" use="optional"/>
<xsd:attribute name="name" type="xsd:positiveInteger" use="optional"/>
</xsd:attributeGroup>
<!-- Definition des elements -->
<xsd:complexType name="type-object">
<xsd:sequence>
<xsd:group ref="ia:basic-elements"/>
<xsd:group ref="ia:object-elements"/>
</xsd:sequence>
<xsd:attributeGroup ref="ia:basic-attributes"/>
</xsd:complexType>
<xsd:complexType name="type-collection">
<xsd:sequence>
<xsd:group ref="ia:basic-elements"/>
<xsd:element name="objects">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="object" type="ia:type-object" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attributeGroup ref="ia:basic-attributes"/>
</xsd:complexType>
<!-- Elements racine -->
<xsd:element name="collections">
<xsd:complexType>
<xsd:sequence>
<xsd:group ref="ia:authentification-elements"/>
<xsd:element name="collection" type="ia:type-collection" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema> |
Code XML:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <?xml version="1.0" encoding="ISO-8859-1"?>
<ia:collections xsi:schemaLocation="urn:ItemAny doctype.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ia="urn:ItemAny">
<ia:userId>1092835097</ia:userId>
<ia:appAuth>testAppli</ia:appAuth>
<ia:appPass>testPassAppli</ia:appPass>
<ia:collection id="1">
<ia:name>un nom</ia:name>
<ia:desc>une description</ia:desc>
<ia:objects>
<ia:object>
<ia:name>nom objet</ia:name>
<ia:desc/>
<ia:param name="Titre par exemple">Value du name, dynamic</ia:param>
</ia:object>
</ia:objects>
</ia:collection>
</ia:collections> |
Le parametre que je n'arrive a faire accepter au XSD est souligne en rouge... Quelqu'un aurait-il une idee ? Merci d'avance :)