From: AS (devjava04@yahoo.fr)
Date: 10/02/2004 - 19:37
merci
as
--- Eric van der Vlist <vdv@dyomedea.com> a écrit : >
> On Tue, 2004-02-10 at 15:30, Robin Berjon wrote:
> > AS wrote:
> > > je voudrais déclarer (dans un schema xml) un
> élément
> > > avec 2 attributs avec la contrainte suivante :
> au
> > > moins un des deux doit être présent
> >
> > Je pense que ça devrait faire:
> >
> > <element name='foo'>
> > <oneOrMore>
> > <choice>
> > <attribute name='att1'/>
> > <attribute name='att2'/>
> > </choice>
> > </oneOrMore>
> > </element>
>
> Avec RELAX NG que nous ne conseillerons jamais
> assez, trois fois oui !!!
>
> Avec W3C XML Schema, c'est beaucoup plus hasardeux,
> mais si on est prêt
> à accepter ce message d'erreur (très déroutant pour
> un utilisateur dit
> final) lorsqu'il n'y a aucun attribut :
>
> [Error] 2att.xml:5:9: Identity Constraint error
> (cvc-identity-constraint.4.2.1): element "foo" has
> a key with no value.
>
> On peut utiliser cet obscur contournement :
>
> <xs:element name="foo">
> <xs:complexType>
> <xs:attribute name="bar" type="xs:token"
> use="optional"/>
> <xs:attribute name="bat" type="xs:token"
> use="optional"/>
> </xs:complexType>
> <xs:key name="bidouille">
> <xs:selector xpath="."/>
> <xs:field xpath="@bar|@bat"/>
> </xs:key>
> </xs:element>
>
> Le fait de définir une clé sur "@bar|@bat" a pour
> conséquence de
> provoquer une erreur si aucun des deux attributs
> n'est présent.
>
> Lorsqu'au moins un des deux attributs est présent,
> la clé ne sert à rien
> (vu l'endroit où elle est placée) mais elle ne
> provoque pas d'erreur.
>
> Cordialement,
>
> Eric van der Vlist
> --
> Did you know it? Python has now a Relax NG (partial)
> implementation.
>
> http://advogato.org/proj/xvif/
> Upcoming XML schema languages tutorial:
> - Santa Clara -half day- (15/03/2004)
> http://masl.to/?J24916E96
>
------------------------------------------------------------------------
> Eric van der Vlist http://xmlfr.org
> http://dyomedea.com
> (ISO) RELAX NG ISBN:0-596-00421-4
> http://oreilly.com/catalog/relax
> (W3C) XML Schema ISBN:0-596-00252-1
> http://oreilly.com/catalog/xmlschema
>
------------------------------------------------------------------------
>
> --
> Devenez redacteur <XML>fr et contribuez au
> developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/)
> !
>
> Liste de diffusion "xml-tech@xmlfr.org"
> (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en
> francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message
> contenant
> la commande "unsubscribe" a
> xml-tech-request@xmlfr.org
>
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>
Yahoo! Mail : votre e-mail personnel et gratuit qui vous suit partout !
Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:05 UTC
webmaster@xmlfr.org
|