Précédent   Forum du club des développeurs et IT Pro > Autres langages > XML/XSL et SOAP > Valider
Valider W3C XML Schemas, DTD, Relax NG, Schematron...) et tout ce qui permet de les mettre en oeuvre. Avant de poster -> FAQ XML, Sources XML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 06/01/2012, 11h34   #1
Ryo_san
Candidat au titre de Membre du Club
 
Inscription : avril 2005
Messages : 43
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 43
Points : 11
Points : 11
Par défaut Le recours systématique aux types

Bonjour,

Je voulais avoir l'avis d'experts du XSD pour m'indiquer si le recours systématique aux types était une bonne pratique ou non.

Plus précisément, lorsque l'on veux restreindre la taille d'un xs:string par un maxlength=10 par exemple, est-il plus propre de coder cela :

Code :
1
2
3
4
5
<xs:element name="myElement" type="ns0:threeCharString">
    <xs:annotation>
        <xs:documentation>Bla bla.</xs:documentation>
    </xs:annotation>
</xs:element>
Avec :

Code :
1
2
3
4
5
6
7
8
<xs:simpleType name="threeCharString">
    <xs:annotation>
        <xs:documentation>3-char strings maximum</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
        <xs:maxLength value="3"/>
    </xs:restriction>
</xs:simpleType>
Plutôt que de faire directement :

Code :
1
2
3
4
5
6
7
8
<xs:element name="myElement">
    <xs:annotation>
        <xs:documentation>Bla bla.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
        <xs:maxLength value="3"/>
    </xs:restriction>
</xs:element>
J'ai l'impression que même si c'est plus modulaire, cela me parraît extrêmement lourd compte tenu de la prolifération de type possible (pour chaque longueur max différente dans ce cas précis).

Quel est votre avis ?

Merci.
Ryo_san est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 16h39   #2
tsuji
Membre chevronné
 
Inscription : octobre 2011
Messages : 412
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 412
Points : 675
Points : 675
[0] Si un type ne s'applique qu'anecdotiquement, et qu'il ne fasse pas sujet de référence nulle part ailleur, il est bien entendu prête à rester anonyme, souhaitable ou non: chaqu'un à sa préférence; sinon, un type nommé peut vous aider et même parfois nécessaire en raison multiple: de réutilisable, prête à être référencié dans le schéma ou dehors - dans xquery ou xslt 2.0 -, de faire encore d'extension ou de restriction, de lisibilité et de clarté structurales.

[1] Pour la deuxième construction, il faut tout de même mettre xs:simpleType là.
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<xs:element name="myElement">
    <xs:annotation>
        <xs:documentation>Bla bla.</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:maxLength value="3"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>
tsuji est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h42.


 
 
 
 
Partenaires

Hébergement Web