1. #1
    Membre à l'essai
    Inscrit en
    mai 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 17
    Points : 15
    Points
    15

    Par défaut L'équivalent de NUMBER(13,3) en XSD

    Bonjour,
    je suis nouveau en XML et je voudrais modifier le type d'une colonne dans le fichier XSD.
    Actuellement la colonne MONTANT_DEVISE est un entier et est définie comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xs:element  name="montant_devise"  nillable="true" type="LimitedInteger13"/>
    Je voudrais rendre cette colonne comme le type NUMBER(13,3) d'Oracle.

    Pourriez vous m'aider SVP à modifier mon XSD?
    Merci

  2. #2
    Membre chevronné
    Inscrit en
    octobre 2011
    Messages
    1 087
    Détails du profil
    Informations forums :
    Inscription : octobre 2011
    Messages : 1 087
    Points : 1 885
    Points
    1 885

    Par défaut

    Si vous voulez les données conformer très exactement ce qu'on entend en oracle db NUMBER(13,3) dans le sens précis que les instances validées de xml par le xsd sont capables d'importé à la bdd sans soucis supplémentaire, on peut faire ça.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xs:element  name="montant_devise"  nillable="true" type="montant_devise_type" />
    <xs:simpleType name="montant_devise_type">
        <xs:restriction base="xs:decimal">
            <xs:pattern value="[+-]?(0*\d{1,10}(\.\d*)?|0*\.\d+|0+(\.\d*)?)" />
        </xs:restriction>
    </xs:simpleType>
    Le pattern s'est construit en tenant compte tous les détails pour que les données puissent directement insérées vers la colonne correspondante de la bdd, même certaine donnée peut paraître bizarre, 0000102. ou 102.12345678 etc, tout acceptable à insérer sans problème. Si on fait sortie de la bdd, les données seraient en format moins étendu et respectant ses règles à elle mais en même temps conformant à la regex écrite ci-dessus, bien entendu. Voilà !

  3. #3
    Membre à l'essai
    Inscrit en
    mai 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 17
    Points : 15
    Points
    15

    Par défaut

    Bonjour Tsuji.
    Merci pour cette réponse.
    Juste un complément, le fait que j'ai donné l'exemple par le type Oracle Number(13,3) c'est juste parce que je maitrise ce type et je l'ai cité en exemple pour que je sois bien compris.
    Mais en fait, le fichier XSD que je cherche à modifier sera destiné à tous type de base de données.
    Est ce que le code que tu m'as donné reste toujours valable ou bien on peut l'alléger sous forme Type= (Decimal, longueur total, nombre de précisions)?

    Merci bcp de ton aide.

  4. #4
    Membre chevronné
    Inscrit en
    octobre 2011
    Messages
    1 087
    Détails du profil
    Informations forums :
    Inscription : octobre 2011
    Messages : 1 087
    Points : 1 885
    Points
    1 885

    Par défaut

    Mais en fait, le fichier XSD que je cherche à modifier sera destiné à tous type de base de données.
    Le plus général le type est, le moins précision on y mets, et c'est normal. Vous pouvez carrément mettre le parent de tous les types dit simples.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xs:element  name="montant_devise"  nillable="true" type="xs:anySimpleType" />
    Si éventuellement, la colonne peut loger un type bdd de xmltype, vous pouvez y mettre xs:anyType.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xs:element  name="montant_devise"  nillable="true" type="xs:anyType" />
    Est-ce utile ? sais pas : ça peut être oui; ça peut être non.

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/03/2014, 14h37
  2. [XSD] Type number ou string
    Par chris78 dans le forum Valider
    Réponses: 4
    Dernier message: 13/07/2006, 12h30
  3. [postgreSQL] équivalent de la function 'instr'
    Par Dra_Gun dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2003, 17h09
  4. Équivalent du #IFDEF
    Par agh dans le forum Langage
    Réponses: 4
    Dernier message: 14/10/2002, 19h44
  5. Fichiers xsd
    Par moxnico dans le forum Valider
    Réponses: 3
    Dernier message: 14/08/2002, 12h48

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