🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.text.xml
Article #485

XSD : petite question au sujet d'un schéma

#485
From: sylsau14
Date: Tue, 10 Oct 2006 21:30
89 lines
4109 bytes
Bonjour,

Je viens de me lancer dans les schémas XML avec XSD et j'ai quelques
petits problèmes.
Après plusieurs tentatives je suis arrivé à ce schéma :

- fichier projets.xsd

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

	<xs:element name="langage" type="xs:string" />
	<xs:element name="description" type="xs:string" />
	<xs:element name="link" type="xs:string" />
	<xs:element name="documentation" type="xs:string" />
	<xs:element name="duree" type="xs:string" />
	<xs:element name="download" type="xs:string" />

	<xs:element name="projet">
		<xs:complexType>
			<xs:all>
				<xs:element ref="langage" />
				<xs:element ref="description" />
				<xs:element ref="link" />
				<xs:element ref="documentation" />
				<xs:element ref="duree" />
				<xs:element ref="download" />
			</xs:all>

			<xs:attribute name="name" type="xs:string" use="required" />
			<xs:attribute name="date" type="xs:string" use="required" />
			<xs:attribute name="niveau" type="xs:string" use="required" />

		</xs:complexType>
	</xs:element>

</xs:schema>


- fichier projets.xml

<?xml version="1.0" encoding="utf-8" ?>

<projets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="./projets.xsd">

	<projet name="xxx" date="xxx" niveau="xxx">
		<langage>xxx</langage>
		<description>xxx</description>
		<link>xxx</link>
		<documentation>xxx</documentation>
		<duree>xxx</duree>
		<download>xxx</download>
	</projet>

</projets>


Ceci passe au validateur du W3C. Cependant, il y a encore quelques
trucs que j'aimerais modifier.
Par exemple j'aimerais que la présence des toutes les balises fils de
projet ne soit pas obligatoire. D'après ce que j'ai lu je pensais
qu'avec <xs:all> on n'était pas obligé de mettre toutes les balises
fils mais apparemment ce n'est pas le cas puisqu'en essayant de valider
un fichier xml dans lequel j'ai enlevé la balise <download></download>
par exemple, le validateur rejette mon document et me dit qu'il manque
cette balise.

Savez vous ce que je dois préciser pour pouvoir faire ça ?


Enfin, j'ai une autre petite question. Pour la balise description
j'aimerais la modifier pour qu'elle ait le comportement suivant :

- elle a un attribut de nom type qui peut prendre  valeurs une ou
l'autre des valeurs prédéfinies (short, long) obligatoirement- et
ensuite son contenu est tjrs de type string

Là, je pense qu'il faut définir la balise description comme une
balise de type Complexe mais une fois ceci fait je ne vois pas comment
définir à l'intérieur que son contenu sera de type string et surtout
comment mettre les contraintes concernant son attribut.

Quelqu'un aurait - il une piste à me donner pour définir ceci ?


Merci d'avance.

Sylvain.
Technical Details
Message-ID: <1160515832.254896.44720@i42g2000cwa.googlegroups.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!i42g2000cwa.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: 114f60,a8f1ce6c62abf66,start
X-Google-Attributes: gid114f60,public
X-Google-Language: FRENCH,ASCII
Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!i42g2000cwa.googlegroups.com!not-for-mail
From: sylsau14@gmail.com
Newsgroups: fr.comp.text.xml
Subject: XSD : petite question au sujet d'un schéma
Date: 10 Oct 2006 14:30:32 -0700
Organization: http://groups.google.com
Lines: 90
Message-ID: <1160515832.254896.44720@i42g2000cwa.googlegroups.com>
NNTP-Posting-Host: 90.10.124.18
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1160515837 9767 127.0.0.1 (10 Oct 2006 21:30:37 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 10 Oct 2006 21:30:37 +0000 (UTC)
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.7) Gecko/20060921 Ubuntu/dapper-security Firefox/1.5.0.7,gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: i42g2000cwa.googlegroups.com; posting-host=90.10.124.18;
   posting-account=ZhlleA0AAADBSY3DyJJr1_vbc4FNyaY0