Article View: fr.comp.text.xml
Article #485XSD : petite question au sujet d'un schéma
From: sylsau14
Date: Tue, 10 Oct 2006 21:30
Date: Tue, 10 Oct 2006 21:30
89 lines
4109 bytes
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-mailShow 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