logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

Re: RE : Attribut ou balise: msg#00090

Subject: Re: RE : Attribut ou balise
Bonjour,

On Mon, 2004-10-18 at 11:50, pcoustillas wrote:
> Ok, j'ai jamais utilisé SAX, cela doit donc expliqué ma préférence des 
> balises.

Pas les balises, les éléments ;-) ! Les balises (balises de fin, de
début, vides, ...) ne sont que des constructions syntaxiques qui n'ont
aucune existence en tant que telle pour la plupart des modèles de
données XML.

> Et concernant les DTD et les schema, y'a quoi comme différence si on 
> déclare des attributs ou des balises. Il me semble qu'avec les DTD on 
> peut dire que la valeur d'un attribut peut etre unique mais en schema on 
> ne peut pas, mais peut je me trompe ?

Les DTDs permettent effectivement plus de contrôles sur les attributs
que sur les éléments. C'est la cas des ID/IDREF (les valeurs uniques)
mais également des énumérations et des quelques types de données
reconnus par les DTDs : ces fonctionnalités sont réservées aux
attributs.

W3C XML Schema (ou RELAX NG) n'ont pas ces restrictions.

Il y a un autre cas dans lequel les attributs peuvent être préférables :
c'est lorsque vous devez rajouter quelque chose à un élément à contenu
simple (c'est à dire un élément qui ne contient pas de sous éléments).
Si vous lui rajoutez un sous élément, vous le transformez en contenu
mixte (c'est à dire en un élément qui contient un mélange de texte et de
sous éléments) ce qui perturbera beaucoup plus vos applications
existantes que si vous lui rajoutez un attribut.

Je pense qu'en fin de compte, sauf cas particulier où vous avez un
besoin précis du type "je dois impérativement contrôler une liste de
valeurs avec une DTD" ou "j'étends un élément à contenu simple", le
critère principal est d'utiliser les attributs pour faire ce pour quoi
ils ont été faits : fournir des métadonnées concernant les éléments.

Outre le fait que la plupart des différences de traitement imposées par
les DTDs, CSS, XML 1.x, les espaces de noms, ... découlent de cette
différence de vocation, il me semble que sauf besoin particulier (ou
coup de génie) il vaut mieux utiliser les outils pour faire ce qu'ils
ont été conçus pour faire :) ...

Cordialement,

Eric van der Vlist
-- 
Did you know it? Python has now a Relax NG (partial) implementation.
                                          http://advogato.org/proj/xvif/
------------------------------------------------------------------------
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
------------------------------------------------------------------------




<Prev in Thread] Current Thread [Next in Thread>