🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: [DTD/Schema] Liens vers entite

#8966
From: Laurent AJDNIK
Date: Wed, 04 Jul 2001 05:12
88 lines
4116 bytes
Merci pour cette reponse.

Cependant, la DTD fournie n'empeche pas "parrain" de pointer vers un
element qui ne soit pas "eleve", n'est-ce pas (ce que je veux eviter) ?

Laurent


Thomas Broyer wrote:
> 
> In <3B41BC18.70D13E8D@insalien.org>, Laurent AJDNIK wrote:
> > Soit un fichier XML contenant une liste d'eleves. Chaque eleve a un nom,
> > un age, et zero ou un parrain. Le parrain doit obligatoirement etre dans
> > la liste des eleves.
> >
> > Comment DTDer tout ca ?
> 
> De plein de fa�ons diff�rentes, ne serait-ce que dans le choix des noms des
> �l�ments, mais aussi (surtout) dans la structure voulue : attributs ou
> sous-�l�ments.
> 
> Avec des sous-�l�ments, on pourrait avoir quelque chose de ce genre :
>   <!ELEMENT �l�ves (�l�ve)+>
> 
>   <!ELEMENT �l�ve (nom, age)>
>   <!ATTLIST �l�ve
>     id      ID    #REQUIRED
>     parrain IDREF #IMPLIED
>   >
> 
>   <!ELEMENT nom (#PCDATA)>
> 
>   <!ELEMENT age (#PCDATA)>
> 
> > A quoi ressemblerait un fichier XML conforme a cette DTD ?
> 
> <�l�ves>
> <�l�ve id="e0001">
>   <nom>Thomas BROYER</nom>
>   <age>??</age>
> </�l�ve>
> <�l�ve id="e0002" parrain="e0001">
>   <nom>Laurent AJDNIK</nom>
>   <age>??</age>
> </�l�ve>
> </�l�ves>
> 
> Bien entendu, on pourrait "subdiviser" le nom en <pr�nom> et <nom>,
> �ventuellement mis dans un �l�ment <identit�> ou autre.
> Si le nom de famille seul est utilis�, il peut sans doute tenir place d'ID.
> L'ID pourrait avoir une toute autre forme que eXXXX.
> etc.
> 
> > A titre comparatif, en XML Schema, ca donnerait quoi ?
> 
> Je connais rien � XML Schema mais je sais qu'il y a �norm�ment de fa�ons
> d'�crire la m�me chose. Quelque chose proche de la DTD au niveau
> "conceptuel" reviendrait � quelque chose comme �a (� v�rifier, je rappelle
> : je n'y connais rien � XML Schema) :
>   <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> 
>   <xsd:element name="�l�ves" type="T�l�ves"/>
>   <xsd:element name="�l�ve" type="T�l�ve"/>
>   <xsd:element name="nom" type="xsd:string"/>
>   <xsd:element name="age" type="xsd:duration"/>
> 
>   <xsd:complexType name="T�l�ves">
>     <xsd:element name="�l�ve" type="T�l�ve" maxOccur="unbound">
>   </xsd:complexType>
> 
>   <xsd:complexType name="T�l�ve">
>     <xsd:sequence>
>       <xsd:element ref="nom"/>
>       <xsd:element ref="age"/>
>     </xsd:sequence>
>     <xsd:attribute name="id" type="xsd:ID" use="required"/>
>     <xsd:attribute name="parrain" type="xsd:IDREF"/>
>   <xsd:complexType>
>   </xsd:schema>
> 
> On peut bien entendu restreindre les types (le "format" de l'ID, etc.),
> utiliser des cl�s plut�t que des ID/IDREF, etc.
> 
> Note aussi que l'<age> a ici un type bien d�fini (j'ai choisi xsd:duration,
> c'est peut-�tre pas le meilleur, 'sais pas), donc une syntaxe bien d�finie
> (cf. XML Schema, Part 2 pour en savoir plus)
> 
> Tom.
Technical Details
Message-ID: <3B42A5A1.28DD39B8@insalien.org>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!howland.erols.net!univ-lyon1.fr!not-for-mail
References: <3B41BC18.70D13E8D@insalien.org> <2593444.KmheAe9J7N@ltgt.net>

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: 114f60,ed6ef6154433ceb8
X-Google-Attributes: gid114f60,public
X-Google-ArrivalTime: 2001-07-03 22:08:19 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!howland.erols.net!univ-lyon1.fr!not-for-mail
From: Laurent AJDNIK <laurent.ajdnik@insalien.org>
Newsgroups: fr.comp.text.xml
Subject: Re: [DTD/Schema] Liens vers entite
Date: Wed, 04 Jul 2001 07:12:01 +0200
Organization: CISM (Universite Claude Bernard Lyon I et INSA Lyon)
Lines: 88
Message-ID: <3B42A5A1.28DD39B8@insalien.org>
References: <3B41BC18.70D13E8D@insalien.org> <2593444.KmheAe9J7N@ltgt.net>
NNTP-Posting-Host: i121.resi.insa-lyon.fr
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: demo2.univ-lyon1.fr 994223298 6882 134.214.164.70 (4 Jul 2001 05:08:18 GMT)
X-Complaints-To: abuse@univ-lyon1.fr
NNTP-Posting-Date: 4 Jul 2001 05:08:18 GMT
X-Mailer: Mozilla 4.76 [en] (Win98; U)
X-Accept-Language: en