IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Valider XML Discussion :

[XSD] : decimal ou double


Sujet :

Valider XML

  1. #1
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut [XSD] : decimal ou double
    Bonjour,
    Lorsqu'on veut un type réel, sur quel critère doit-on choisir entre xs:decimal et xs:double ? Ma spec dit que le type est réel (il s'agit de coefficients physiques). Comme choisir ? Au final, les données seront traitées en C++, le XML ne sert que de format d'échange. Est-ce que cela a une importance ?
    Merci d'éclairer ma lanterne.

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    l'écriture ?
    Plus sérieusement le xml étant un format texte c'est juste entre 2 type de représentations écrites que tu te décideras

    je te donne les définitions de type xml schema, j'espère que cela t'aidera
    decimal:nombre réel à virgule (point car c'est la représentation américaine).
    Suite finie de chiffre, dont le point est le séprateur, qui peut être précédée d'unsigne. Si le signe est omis, on considérera que le signe "+" est sous-entendu
    exemple de représentation : -1.23, 12678967.543233, +100000.00, 210

    double:Il correspond à la version 64bits du standart IEEE 754-1985 , le symbole de l'exposant est E ou e . INF pour l'infini,- INF pour - l'infini, 0 ou -0 sont autorisé.
    exemple de représentation : -1E4, 1267.43233E12, 12.78e-2, 12

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Ok. Donc c'est vraiment à considérer selon ma plage de valeurs : si l'écriture décimal (1.54654) est plus appropriée -> xs:decimal, si certaines valeurs doivent s'écrire 12.78e-21 alors xs:double.

  4. #4
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    au passage, xml schema , via la facette union permet de mettre plusieurs types à un seul élément

    Union (fils de l'élément simpleType)permet d'associer à un élément plusieurs types simple
    Exemple, nous désirons attribuer à une balise zone soit une ville, soit un code postal, soit une liste de code postaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="UTF-8"?>
    <racine>
                 <zone>Rennes</zone>
    	<zone>22000</zone>
    	<zone>35000</zone>
    	<zone>61000</zone>
    	<zone>78000</zone>
    	<zone>75001 75002 75003</zone>
    	<zone>75011 75012 75015</zone>
    	<zone>75010 75009</zone>
    </racine>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    	<xs:element name="racine">
    		<xs:complexType>
    			<xs:sequence>
    				<xs:element name="zone"  maxOccurs="unbounded">
    				<xs:simpleType >
    					<xs:union memberTypes="code_postal Lcode_postal ville"></xs:union>
    				</xs:simpleType>
    				</xs:element>
    			</xs:sequence>
    		</xs:complexType>
    	</xs:element>
    	<xs:simpleType name="ville">
    		<xs:restriction base="xs:string">
    			<xs:pattern value="[A-Z][a-z]*"/>
    		</xs:restriction>
    	</xs:simpleType>
    	<xs:simpleType name="code_postal">
    		<xs:restriction base="xs:string">
    			<xs:pattern value="[0-9]{5}"/>
    		</xs:restriction>
    	</xs:simpleType>
    	<xs:simpleType name="Lcode_postal">
    		<xs:list itemType="code_postal"/>
    	</xs:simpleType>
    </xs:schema>
    Je m'arrête là autrement c'est tout mon futur tuto qui va y passer

  5. #5
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Ok. Mais une union à chaque fois que je vais décrire un type réel, ça va vite devenir illisible. D'autant que xs:decimal me conviendra très bien.
    Au passage, merci pour le xs:list que je connaissais pas et qui a failli me manquer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/05/2014, 11h36
  2. Decimal vs double
    Par Patrice Henrio dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2012, 15h25
  3. Decimal, float, double en C# avec SQL Server
    Par 0nn2belle dans le forum C#
    Réponses: 4
    Dernier message: 04/05/2010, 09h34
  4. [JAXB] Modification du binding par défaut des types (xsd:decimal -> BigDecimal)
    Par jcdonnart dans le forum Persistance des données
    Réponses: 0
    Dernier message: 03/12/2008, 18h09
  5. coversion type decimal en reel double
    Par zebi42 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 29/06/2007, 14h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo