Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

[xml-tech] Re: interdire valeurs vides (validation xsd)

Auteur: Eric van der Vlist <vdv@dyomedea.com>
Date: 16/09/2004 - 11:19
X-Mailer: Ximian Evolution 1.4.6

On Thu, 2004-09-16 at 12:36, Yann Nicolas wrote:
> Merci de votre réponse, claire et prompte comme toujours !
>
> >> Y a-t-il un moyen avec XSD d'empêcher des attributs ou éléments
> vides
> >> ?
> >
> >Si par valeur vide, vous voulez dire <foo/> pour un élément ou bar=""
> >pour un attribut, tout dépend de vos types de données.
>
> C'est bien cela que je voulais dire.
> Je veux une valeur de type xs:string, mais non nulle (et je commence à
> comprendre qu'une valeur nulle est bien du string, même si c'est un
> cas limite).
> En regardant de plus près les specs (II, 4.3.2.), je trouve cet
> exemple qui devrait me convenir parfaitement :
>
> Example
> The following is the definition of a ·user-derived· datatype which
> requires strings to have at least one character (i.e., the empty
> string is not in the ·value space· of this datatype).
> <simpleType name='non-empty-string'>
> <restriction base='string'>
> <minLength value='1'/>
> </restriction>
> </simpleType>
>
> Dommage que ce type ne soit pas "built in", mais il est vrai que les
> specs sont assez longues comme cela...

Oui!

>
> Encore merci

Un dernier conseil : sauf cas particulier (plus fréquent dans les
applications "orientées document" que dans les applications "orientées
données"), j'ai tendance à conseiller l'utilisation de xs:token (qui
comme son nom ne l'indique pas désigne une chaîne de caractères dont les
espaces sont "normalisés" au sens où l'entend XSLT) plutôt que celle de
xs:string (xs:token est plus cohérent avec tous les autres types de
données que xs:string qui est un cas particulier).

Dans votre cas précis, non-empty-string étant dérivé de string, aucune
normalisation ne sera appliquée avant le test de la facette minLength et
l'élément "<foo> </foo>" sera considéré comme valide (sa longueur est
1).

Si vous définissez au contraire :

<simpleType name='non-empty-token'>
  <restriction base='token'>
    <minLength value='1'/>
  </restriction>
</simpleType>

la normalisation des espaces sera appliquée avant le test dYann
>
>
> --
> 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)e la facette
> minLength et "<foo> </foo>" ou même "<foo>

        </foo>" seront invalides puisque leur longueur après normalisation est
0.

Cordialement,

Eric van der Vlist

-- 
Freelance consulting and training.
                                            http://dyomedea.com/english/
------------------------------------------------------------------------
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)
Received on Thu Sep 16 13:19:36 2004

Archive générée par hypermail 2.1.8 le 04/10/2004 - 20:25 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement