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 :

Validation de valeur (choix dans une liste)


Sujet :

Valider XML

  1. #1
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut Validation de valeur (choix dans une liste)
    Bonjour,

    je cherche à créer une définition XML SCHEMA pour typer une colonne XML dans MS SQL Server (le parser).

    Mes documents XML finaux (utilisateur) doivent avoir la forme suivante :
    Exemple :

    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
    <META_DATA>
      <DATA> 
         <NAM="PERMIS_DE_CONDUIRE"/> 
         <VAL="A"/> 
         <TYP="string"/>
      </DATA>
      <DATA> 
         <NAM="DATE_NAISSANCE"/>
         <VAL="1960-04-21"/>
         <TYP="date"/>
      </DATA> 
      <DATA> 
         <NAM="POIDS">
         <VAL="79">
         <TYP="BIGINT"/>
      </DATA> 
    </META_DATA>
    Il peut bien entendu y avoir un nombre quelconque de DATA et META_DATA est ma racine (elle ne doit pas être présentée dans le XSD).

    J'ai réussit à créer ceci :

    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
    CREATE XML SCHEMA COLLECTION dbo.XML_XSD_META
    AS
    N'<?xml version="1.0" encoding="UTF-16"?>
    <xsd:schema 
         elementFormDefault="qualified" 
         xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     
    <xsd:complexType name="DATA">
      <xsd:sequence minOccurs="1" maxOccurs="unbounded">
         <xsd:element name="NAM" minOccurs="1" maxOccurs="1">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:maxLength value="128"/>
               </xsd:restriction>
            </xsd:simpleType>   
         </xsd:element>
         <xsd:element name="VAL" minOccurs="1" maxOccurs="1">
            <xsd:simpleType>
               <xsd:restriction base="xsd:string">
                  <xsd:maxLength value="256"/>
               </xsd:restriction>
            </xsd:simpleType>   
         </xsd:element>  	  
      </xsd:sequence>   
    </xsd:complexType>
     
    </xsd:schema>';
    Qui dit la chose suivante :
    l'élément DATA est constitué d'au moins une occurrence et au plus d'un nombre quelconque
    il contient :
    - une élément NAM présent impérativement 1 fois de valeur string et de longueur 128
    - une élément VAL présent impérativement 1 fois de valeur string et de longueur 256
    Mais il manque la qualification de l'élément TYP...

    Pour ce qui est de ce troisième élément (TYP), celui ci doit être de type string et ne peut avoir que les valeurs suivantes :
    DATE, DATETIME2(0), TIME, FLOAT, BIGINT, VARCHAR(256), NVARCHAR(256), BIT

    Pour ceci j'ai essayé les syntaxes suivantes :

    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
             <xsd:unique  name="TYP">
                <xsd:selector xpath="sqlType"/>
                <xsd:field    xpath="sqlName"/>
             </xsd:unique>
     
    ...
     
    <sqlType>
       <sqlName>VARCHAR(256)</sqlName>
       <sqlName>NVARCHAR(256)</sqlName>
       <sqlName>DATE</sqlName>
       <sqlName>TIME</sqlName>
       <sqlName>DATETIME2(0)</sqlName>
       <sqlName>FLOAT</sqlName>
       <sqlName>BIGINT</sqlName>
       <sqlName>BIT</sqlName>            
    </sqlType>
    ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     	     <xsd:element name="TYP" minOccurs="1" maxOccurs="1">
      	        <xsd:complexType>
                   <xsd:choice>
                      <xsd:element ref="VARCHAR(256)"/>
                      <xsd:element ref="NVARCHAR(256)"/>
                      <xsd:element ref="DATE"/>
                      <xsd:element ref="TIME"/>
                      <xsd:element ref="DATETIME2(0)"/>
                      <xsd:element ref="FLOAT"/>
                      <xsd:element ref="BIGINT"/>
                      <xsd:element ref="BIT"/>
                   </xsd:choice>
                </xsd:complexType>
             </xsd:element>
    Mais j'avoue que je suis à sec ! Rien ne marche et je trouve pas de doc sur le sujet !

    D'avance merci

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    [1] D'abord, le xml de META_DATA n'est pas un document xml bien-formé, j'espère c'est juste des erreurs de frappe?
    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
    <META_DATA>
      <DATA> 
         <NAM>PERMIS_DE_CONDUIRE</NAM> 
         <VAL>A</VAL> 
         <TYP>string</TYP>
      </DATA>
      <DATA> 
         <NAM>DATE_NAISSANCE</NAM>
         <VAL>1960-04-21</VAL>
         <TYP>date</TYP>
      </DATA> 
      <DATA> 
         <NAM>POIDS</NAM>
         <VAL>79</VAL>
         <TYP>BIGINT</TYP>
      </DATA> 
    </META_DATA>
    [2]
    l'élément DATA est constitué d'au moins une occurrence et au plus d'un nombre quelconque
    <xsd:sequence minOccurs="1" maxOccurs="unbounded">
    Le dernière n'est pas une réalisation du premier, non. Il faut enlever les facet maxOccurs ou le mettre à 1 (valeur à défaut) ou bien mieux enlever à la fois minOccurs et maxOccurs tout simplement.

    Si vous voulez dire l'élément DATA pourvoir se répéter multiple de fois, le facet cardinal s'écrit quand l'élément lui-même s'est défini.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsd:element name="DATA" type="DATA" maxOccurs="unbounded" />
    [2.1] C'est acceptable d'avoir un xs:element nommé DATA et un xs:complexType nommé DATA; mais si vous feriez plus tard quelque développement comme mapping schema élément et l'objet, ça pourrait donner quelque complication supplémentaire. Il vaut mieux peut-être nommer le dernier DATAType ou quelque nom de ce genre.

    [3]
    Pour ce qui est de ce troisième élément (TYP), celui ci doit être de type string et ne peut avoir que les valeurs suivantes :
    DATE, DATETIME2(0), TIME, FLOAT, BIGINT, VARCHAR(256), NVARCHAR(256), BIT
    Vous pouvez le faire simplement comme ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <xs:element name="TYP">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="DATE" />
                <xs:enumeration value="DATETIME2(0)" />
                <xs:enumeration value="TIME" />
                <xs:enumeration value="FLOAT" />
                <xs:enumeration value="BIGINT" />
                <xs:enumeration value="VARCHAR(256)" />
                <xs:enumeration value="NVARCHAR(256)" />
                <xs:enumeration value="BIT" />
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    [3.1] Si vous contemplez à utiliser xs:unque, il faut prepare le composant de schema pour sqltype etc... je ne vois pas ça nécessaire et prêt pour le moment.

    [3.2] En ce qui concerne ref="VARCHAR(256)" etc... ce n'est pas la mode d'emploi de l'attribut "ref" et c'est simplement incorrect.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Oui, fautes de frappe !

    OK merci je vais tester cela.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Non, finalement ça ne fonctione pas :

    1 - si je fais cela : 1ere balise META auto fermée

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    CREATE XML SCHEMA COLLECTION dbo.XML_XSD_META
    AS
    N'<?xml version="1.0" encoding="UTF-16"?>
    <xsd:schema 
         elementFormDefault="qualified" 
         xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     
    <xsd:element name="DATA" type="DATA" maxOccurs="unbounded" />
       <xsd:sequence minOccurs="1" maxOccurs="unbounded">
          <xsd:element name="NAM" minOccurs="1" maxOccurs="1">
             <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="128"/>
                </xsd:restriction>
             </xsd:simpleType>   
          </xsd:element>
          <xsd:element name="VAL" minOccurs="1" maxOccurs="1">
             <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="256"/>
                </xsd:restriction>
             </xsd:simpleType>   
          </xsd:element>
          <xsd:element name="TYP">
             <xsd:simpleType>
                <xsd:restriction base="xs:string">
                   <xsd:enumeration value="DATE" />
                   <xsd:enumeration value="DATETIME2(0)" />
                   <xsd:enumeration value="TIME" />
                   <xsd:enumeration value="FLOAT" />
                   <xsd:enumeration value="BIGINT" />
                   <xsd:enumeration value="VARCHAR(256)" />
                   <xsd:enumeration value="NVARCHAR(256)" />
                   <xsd:enumeration value="BIT" />
                </xsd:restriction>
             </xsd:simpleType>
          </xsd:element>  	  
       </xsd:sequence>   
     
    </xsd:schema>';

    Message : Msg*2297, Niveau*16, État*1, Ligne*1 : L'élément <sequence> n'est pas valide à l'emplacement '/*:schema[1]/*:sequence[1]'.

    2 - si je fais cela : 1ere balise META encadrant les autres

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    CREATE XML SCHEMA COLLECTION dbo.XML_XSD_META
    AS
    N'<?xml version="1.0" encoding="UTF-16"?>
    <xsd:schema 
         elementFormDefault="qualified" 
         xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     
    <xsd:element name="DATA" type="DATA" maxOccurs="unbounded" >
       <xsd:sequence minOccurs="1" maxOccurs="unbounded">
          <xsd:element name="NAM" minOccurs="1" maxOccurs="1">
             <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="128"/>
                </xsd:restriction>
             </xsd:simpleType>   
          </xsd:element>
          <xsd:element name="VAL" minOccurs="1" maxOccurs="1">
             <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="256"/>
                </xsd:restriction>
             </xsd:simpleType>   
          </xsd:element>
          <xsd:element name="TYP">
             <xsd:simpleType>
                <xsd:restriction base="xs:string">
                   <xsd:enumeration value="DATE" />
                   <xsd:enumeration value="DATETIME2(0)" />
                   <xsd:enumeration value="TIME" />
                   <xsd:enumeration value="FLOAT" />
                   <xsd:enumeration value="BIGINT" />
                   <xsd:enumeration value="VARCHAR(256)" />
                   <xsd:enumeration value="NVARCHAR(256)" />
                   <xsd:enumeration value="BIT" />
                </xsd:restriction>
             </xsd:simpleType>
          </xsd:element>  	  
       </xsd:sequence>   
    </xsd:element>
    </xsd:schema>';
    Message : Msg*2307, Niveau*16, État*1, Ligne*1 Référence à un nom non qualifié 'DATA'

    Ceci ma parait mieux,:

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    CREATE XML SCHEMA COLLECTION dbo.XML_XSD_META
    AS
    N'<?xml version="1.0" encoding="UTF-16"?>
    <xsd:schema 
         elementFormDefault="qualified" 
         xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     
    <xsd:element name="DATA" type="DATA" />
    <xsd:complexType name="DATA">
      <xsd:sequence minOccurs="1" maxOccurs="unbounded">
          <xsd:element name="NAM" minOccurs="1" maxOccurs="1">
             <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="128"/>
                </xsd:restriction>
             </xsd:simpleType>   
          </xsd:element>
          <xsd:element name="VAL" minOccurs="1" maxOccurs="1">
             <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="256"/>
                </xsd:restriction>
             </xsd:simpleType>   
          </xsd:element>
          <xsd:element name="TYP">
             <xsd:simpleType>
                <xsd:restriction base="xs:string">
                   <xsd:enumeration value="DATE" />
                   <xsd:enumeration value="DATETIME2(0)" />
                   <xsd:enumeration value="TIME" />
                   <xsd:enumeration value="FLOAT" />
                   <xsd:enumeration value="BIGINT" />
                   <xsd:enumeration value="VARCHAR(256)" />
                   <xsd:enumeration value="NVARCHAR(256)" />
                   <xsd:enumeration value="BIT" />
                </xsd:restriction>
             </xsd:simpleType>
          </xsd:element>  
       </xsd:sequence>   
    </xsd:complexType>     	  
     
    </xsd:schema>';
    Mais il râle car il manque l'espace de nom pour xs (xsd en fait ?)

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    xsd:sequence ne peut apparâitre comme ça; il ne peut que comme enfant de l'élément xsd:complexType. Et c'est le dernier qui est qualifié par un nom DATA aussi. Et je ne crois pas xsd:sequence entends d'avoir maxOccurs "unbounded' dans les données réelles. Pour xsd:element DATA, je ne sais pas maxOccurs="unbounded" a un sens si il n'est pas enfant de quelque element caché, je l'élimine pour le moment aussi.
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    CREATE XML SCHEMA COLLECTION dbo.XML_XSD_META
    AS
    N'<?xml version="1.0" encoding="UTF-16"?>
    <xsd:schema 
         elementFormDefault="qualified" 
         xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     
    <xsd:element name="DATA" type="DATA" />
    <xsd:complexType name="DATA">
       <xsd:sequence>
          <xsd:element name="NAM">
             <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="128"/>
                </xsd:restriction>
             </xsd:simpleType>   
          </xsd:element>
          <xsd:element name="VAL">
             <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="256"/>
                </xsd:restriction>
             </xsd:simpleType>   
          </xsd:element>
          <xsd:element name="TYP">
             <xsd:simpleType>
                <xsd:restriction base="xs:string">
                   <xsd:enumeration value="DATE" />
                   <xsd:enumeration value="DATETIME2(0)" />
                   <xsd:enumeration value="TIME" />
                   <xsd:enumeration value="FLOAT" />
                   <xsd:enumeration value="BIGINT" />
                   <xsd:enumeration value="VARCHAR(256)" />
                   <xsd:enumeration value="NVARCHAR(256)" />
                   <xsd:enumeration value="BIT" />
                </xsd:restriction>
             </xsd:simpleType>
          </xsd:element>  	  
       </xsd:sequence>   
    </xsd:complexType> 
    </xsd:schema>';

  6. #6
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Je note maintenant la troisième version, elle est acceptable. Seulement
    Mais il râle car il manque l'espace de nom pour xs (xsd en fait ?)
    si DATA devrait apparâitre dans quelque namespace --- lequel je ne peux le savoir, voyez? --- il vous faut préciser un attribut targetNamespace bien entendu. Donnez le moi et je vais vous montrer comme faire!

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Comme ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="UTF-16"?>
    <xsd:schema targetNamespace="http://www.auris.xml/meta" 
                xmlns          ="http://www.auris.xml/meta" 
       elementFormDefault="qualified" 
       xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Apparemment il veut bien de cela :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    CREATE XML SCHEMA COLLECTION dbo.XML_XSD_META
    AS
    N'<?xml version="1.0" encoding="UTF-16"?>
    <xsd:schema targetNamespace="http://www.auris.xml/meta" 
                xmlns          ="http://www.auris.xml/meta" 
       elementFormDefault="qualified" 
       xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="DATA" type="DATA"/>
    <xsd:complexType name="DATA">
       <xsd:sequence>
          <xsd:element name="NAM">
             <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="128"/>
                </xsd:restriction>
             </xsd:simpleType>   
          </xsd:element>
          <xsd:element name="VAL">
             <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="256"/>
                </xsd:restriction>
             </xsd:simpleType>   
          </xsd:element>
          <xsd:element name="TYP">
             <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                   <xsd:enumeration value="DATE" />
                   <xsd:enumeration value="DATETIME2(0)" />
                   <xsd:enumeration value="TIME" />
                   <xsd:enumeration value="FLOAT" />
                   <xsd:enumeration value="BIGINT" />
                   <xsd:enumeration value="VARCHAR(256)" />
                   <xsd:enumeration value="NVARCHAR(256)" />
                   <xsd:enumeration value="BIT" />
                </xsd:restriction>
             </xsd:simpleType>
          </xsd:element>  	  
       </xsd:sequence>   
    </xsd:complexType> 
    </xsd:schema>'
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. [AC-2010] Utiliser valeur d'une liste de choix dans une liste déroulante d'un autre formulaire
    Par Sébastien1609 dans le forum Macros Access
    Réponses: 1
    Dernier message: 11/06/2015, 15h31
  2. Réponses: 0
    Dernier message: 07/07/2010, 14h51
  3. Réponses: 2
    Dernier message: 12/05/2010, 14h57
  4. valider un formulaire apres un choix dans une liste
    Par enzostar dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/12/2009, 09h52
  5. Réponses: 2
    Dernier message: 30/06/2006, 16h46

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